From 399cdbeab1c9556506492cd796403771dde8ac0b Mon Sep 17 00:00:00 2001 From: "fjy8018@qq.com" <27894869fjy> Date: Fri, 6 Jul 2018 15:57:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=B8=8D=E5=90=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=94=A8=E4=B8=8D=E5=90=8C=E6=9D=83=E9=99=90=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql.sql | 7 +++++-- .../java/top/fjy8018/shiro/config/ShiroConfiguration.java | 3 +++ .../java/top/fjy8018/shiro/controller/NavController.java | 6 ++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/sql.sql b/sql.sql index 7fa90bb..6c0ed05 100644 --- a/sql.sql +++ b/sql.sql @@ -63,6 +63,7 @@ INSERT INTO permission (pid, name, url) VALUE ('4', 'query', ''); INSERT INTO user (uid, username, password) VALUE ('1', 'admin', '0000'); INSERT INTO user (uid, username, password) VALUE ('2', 'trs', 'trs'); +INSERT INTO user (uid, username, password) VALUE ('3', 'guest', 'guest'); INSERT INTO role (rid, rname) VALUE ('1', 'admin'); INSERT INTO role (rid, rname) VALUE ('2', 'customer'); @@ -74,12 +75,14 @@ INSERT INTO permission_role (rid, pid) VALUE ('1', '3'); INSERT INTO permission_role (rid, pid) VALUE ('1', '4'); INSERT INTO permission_role (rid, pid) VALUE ('2', '1'); -INSERT INTO permission_role (rid, pid) VALUE ('1', '3'); -INSERT INTO permission_role (rid, pid) VALUE ('1', '4'); +INSERT INTO permission_role (rid, pid) VALUE ('2', '3'); +INSERT INTO permission_role (rid, pid) VALUE ('2', '4'); + INSERT INTO permission_role (rid, pid) VALUE ('3', '4'); INSERT INTO user_role (rid, uid) VALUE ('1', '1'); INSERT INTO user_role (rid, uid) VALUE ('2', '2'); +INSERT INTO user_role (rid, uid) VALUE ('3', '3'); SELECT u.*, diff --git a/src/main/java/top/fjy8018/shiro/config/ShiroConfiguration.java b/src/main/java/top/fjy8018/shiro/config/ShiroConfiguration.java index cfa7160..2505adc 100644 --- a/src/main/java/top/fjy8018/shiro/config/ShiroConfiguration.java +++ b/src/main/java/top/fjy8018/shiro/config/ShiroConfiguration.java @@ -43,6 +43,9 @@ public class ShiroConfiguration { // 指定页面只能给指定用户访问,校验角色名称类org.apache.shiro.web.filter.authz.RolesAuthorizationFilter filterChainDefinitionMap.put("/admin","roles[admin]"); + // 不同接口用不同权限控制,控制类对应org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter + filterChainDefinitionMap.put("/edit","perms[edit]"); + // 用户登录后可以访问所有接口 filterChainDefinitionMap.put("/**", "user"); diff --git a/src/main/java/top/fjy8018/shiro/controller/NavController.java b/src/main/java/top/fjy8018/shiro/controller/NavController.java index 87c6f9c..0464496 100644 --- a/src/main/java/top/fjy8018/shiro/controller/NavController.java +++ b/src/main/java/top/fjy8018/shiro/controller/NavController.java @@ -28,4 +28,10 @@ public class NavController { public String unauthorized() { return "unauthorized"; } + + @RequestMapping("/edit") + @ResponseBody + public String edit() { + return "edit success"; + } }