删除段落间的空格(段落里的空格怎么删除)
691
2022-05-30
上篇文章实现类基于Shiro的认证操作,本文来实现下授权操作。
授权
Shiro授权原理及细节内容欢迎参考如下链接
https://dpb-bobokaoya-sm.blog.csdn.net/article/details/86652418
1.获取用户对应的权限
本项目中我们的权限就只涉及到角色,没有再细粒度到菜单,感兴趣的可以自己可扩展实现下。
IUserService方法
/** * 根据用户编号获取对应的权限信息 * @param userId * @return */ public List
1
2
3
4
5
6
7
UserServiceImpl实现
@Override public List
1
2
3
4
5
RoleMapper接口中定义方法
List
1
RoleMapper映射文件中添加sql
1
2
3
4
5
6
7
2.授权方法
修改MyRealm中授权的方法
/** * 授权的方法 */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { // 获取认证的信息 User user = (User) principals.getPrimaryPrincipal(); // 获取登录用户对应的权限 List
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
3.SpringMVC添加配置
1
2
3
4
5
6
4.数据准备
创建一个账号分配对应的角色用来测试。
5.限制权限
// 当前登录用户需要"管理员角色才能访问" @RequiresRoles("管理员") @RequestMapping("/queryPage") public String queryPage(UserDto dto,Model model){ PageInfo
1
2
3
4
5
6
7
8
用没有"管理员"角色的访问测试
用具有访问权限的账号登录
有权的访问成功。
解决没有访问权限的跳转问题。
新建一个没有权限的跳转页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
SpringMVC中配置
1
2
3
4
5
6
7
8
9
10
11
12
13
用没有权限的账号测试
权限标签在具体的业务场景中使用~
智慧物流
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。