一 环境搭建
1导入rbac项目(具有ssm整合配置文件)
2.导入shiro相关jar包
3.在Web.xml中添加DelegatingFilterProxy配指
4.编写spring-shiro.xml
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域中填充一
个参数(记录了异常信息)
(2)设计简单的登陆页面
(3)编写realm代码 (在service层中调用了mapper中的根据用户名查询用户方法)
认证成功跳转到main.jsp,认证失败跳转到user/login(在shiro配置文件中配置过)
(4)控制层代码实现
三 Shiro与SSM整合实现授权
(1)数据库的设计
(2)编写实现类以及mapper 在users中添加角色,权限,菜单关联
注意MenuMapper与PermissionMapper的编写
(3)在service层调用查询方法时将关联的菜单,角色,权限也设置进去
(4)在realm中进行授权认证
三 Shiro与SSM整合实现注册
(1)点击注册按钮,发送ajax请求
(2)编写mapper
(3)在数据库添加数据之前,把密码进行加密,盐值为用户名,迭代两次
(4)编写控制层,为防止中文乱码问题,添加produces属性