apache shiro jar包_Shiro与SSM整合

一 环境搭建

1导入rbac项目(具有ssm整合配置文件)

2.导入shiro相关jar包

3.在Web.xml中添加DelegatingFilterProxy配指

38fdead0afc484e1340477cd616ea75f.png

4.编写spring-shiro.xml

a01f0df1fad91113d8b6716c9b46d5ee.png

2d3e0547aec628562abafa8ad7bd14eb.png

5.编写mapper接口级mapper.xml

6.编写service接口及实现类

7.编写controller

8.编写Realm

二 Shiro与SSM整合实现认证

(1)原理分析

用户没有认证时,请求loginurl进行认证,用户身份和用户密码提交数据到

loginurl。FormAuthenticationFilter拦截住取出request中的username和

password(两个参数名称是可以配置的)FormAuthenticationFilter调用realm传

入一个token(username和password)realm认证时根据username查询用户信息

(在user中存储,包括 userid、username、password、menus)。

如果查询不到,realm返回null,FormAuthenticationFilter向request域中填充一

个参数(记录了异常信息)

c3311dc71b4a6faf933de29f7eec08ce.png

(2)设计简单的登陆页面

944d89c300108ff321b3123539766bbb.png

(3)编写realm代码 (在service层中调用了mapper中的根据用户名查询用户方法)

认证成功跳转到main.jsp,认证失败跳转到user/login(在shiro配置文件中配置过)

e3463fa790febef668f2d8126a9ea15a.png

(4)控制层代码实现

2ff8a47a5ec700db5f422559ab7a1bb7.png

三 Shiro与SSM整合实现授权

(1)数据库的设计

42b8749e084e771a73f676b65f2c7751.png
users用户表

d03827f9266cc5138f845cc2bf60d81d.png
role角色表

04f92dd5c165a9f94248a544b3cdd0e0.png
用户角色中间表role_users

0f9f312e32ae8a1e824945cd26bd8319.png
菜单表menu

66a4803bbec8f9243e088851a1c7b31a.png
Permission:权限表

1f6fe8f474977ca759308bb75b292ab9.png
权限菜单中间表permission_menu

(2)编写实现类以及mapper 在users中添加角色,权限,菜单关联

注意MenuMapper与PermissionMapper的编写

e011b127bacf5db355865f79b1e8e856.png

ecccce783cecbd86c0085329482c8295.png

(3)在service层调用查询方法时将关联的菜单,角色,权限也设置进去

283e5d46475881dd68218b53b5e16ac5.png

(4)在realm中进行授权认证

156e7e89b4f6a9b0e1c5f40e379d03d1.png

三 Shiro与SSM整合实现注册

(1)点击注册按钮,发送ajax请求

df83d9e22ac67a0bad610dc46354ceea.png

(2)编写mapper

cf0decc5a62cc732087799a5cc4d9aa3.png

(3)在数据库添加数据之前,把密码进行加密,盐值为用户名,迭代两次

d925fd8a622ea3968b29ba8d26aebaa4.png

(4)编写控制层,为防止中文乱码问题,添加produces属性

69c286c69066834dfe628ca569818241.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值