shiro设置编辑权限_Shiro必会之利用标签实现权限检测

本文介绍了如何在SSM项目中结合Shiro实现权限控制,通过Shiro标签动态检测用户权限,根据角色和权限展示不同功能。内容包括:准备数据表、创建bean和mapper、修改MyRealm和UserLoginController、在页面引入Shiro标签库并利用标签进行授权检测。未进行授权信息缓存,可考虑在首次检测后保存到session或利用Shiro缓存配置提高效率。
摘要由CSDN通过智能技术生成

在之前我们已经完成了SSM的整合操作了,这次将利用该项目完成Shiro标签控制菜单项的显示与否,即实现不同的用户有不同的角色,对应不同的权限。

1、 准备三张主表(member、role、action),两张关联表(member_role、role_action),直接自定义好数据,不改动。真实开发是需要进行动态配置的,这里只做简单演示。

8604be30be15fccae0c007505a8d0662.png

2、 创建相关的bean类和mapper文件,新建一个IMemberDAO接口,包含三个方法,IMemberService接口,包含两个方法以及MemberServiceImpl类。

e11664970e7d622b1c723cf8e3a23601.png
c4da05528a8fb095af77bc818639882a.png
752f03654578c68016a26c9857cf3b58.png

3、 修改MyRealm,进行用户登录认证和用户角色权限设置。

ea0f033bd0acfe92cdfade1e19e53b5e.png

4、 修改UserLoginController,进行用户登录。

43ed653b5e12378f0d8f1ecebeb8a878.png

5、 修改登录页和新建后台主页,登录成功的用户进行后台主页是会根据角色和权限的不同显示不同的功能。利用shiro标签进行授权检测。

 管理员 
增加管理员 管理员列表 部门管理 增加部门 部门列表 编辑部门 员工管理 员工入职 员工列表 员工编辑 员工离职

6、进行用户登录

949ddd20c6ffa8f78f68e522cf489703.png
b0ff498ebf11e0b369505bc4f70d7ed0.png

从以上图片可以看到,我们通过shiro标签实现了权限的动态检测控制。

这次的代码,我们并没有进行授权信息的缓存控制,所以shiro标签的每次授权检测都会去操作数据库。为避免这种情况 ,我们可以在第一次进行授权检测时,把数据保存到session中,下次直接从session中即可。或者可以利用shiro提供的缓存配置进行操作。

注意点:

shiro标签操作需要在页面引入标签库

shiro包含以下几种标签

5f799ed36c749159386045cef0b835dd.png
取得用户名:是否具备指定角色:是否具备有任意一个角色:是否具备指定权限:不具备指定角色:不具备指定权限:已认证用户:未认证用户:当前用户是否为游客:取得rememberme中的信息:

END

a429232a0d9e00048288fe3518b144ff.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值