【shiro】(5)---基于Shiro的权限管理
2018-06-09 12:16
363 查看
基于Shiro的权限管理项目搭建
前面写了四篇有关权限的文章,算是这篇文章的铺垫了。这篇文章采用 开发环境JDK1.8
Eclipse
Maven
技术架构:SpringMVC+Mybatis+jQuery easyUI+Shiro
一、初步框架搭建
1、配置web.xml
/** * 用户身份信息,获取通过用户名得到密码和菜单和页面权限 */ public class ActiveUser implements java.io.Serializable { /** * */ private static final long serialVersionUID = 1L; private String userid;//用户id private String usercode;// 用户账号 private String username;// 用户名称 private List<SysPermission> menus;// 菜单 private List<SysPermission> permissions;// 权限 //提供set和get }
ActiveUser实体序列化
2、配置rememberMeManager
<!-- 安全管理器 --> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="userRealm" /> <property name="sessionManager" ref="sessionManager" /> <property name="cacheManager" ref="cacheManager"/> <!-- 记住我 --> <property name="rememberMeManager" ref="rememberMeManager"/> </bean> <!-- rememberMeManager管理器 --> <bean id="rememberMeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager"> <property name="cookie" ref="rememberMeCookie" /> </bean> <!-- 记住我cookie --> <bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie"> <constructor-arg value="rememberMe" /> <!-- 记住我cookie生效时间30天 --> <property name="maxAge" value="2592000" /> </bean>
3、FormAuthenticationFilter配置
修改formAuthenticationFitler添加页面中“记住我checkbox”的input名称<bean id="formAuthenticationFilter" class="com.jincou.shiro.MyFormAuthenticationFilter"> <!-- 表单中账号的input名称 --> <property name="usernameParam" value="usercode" /> <!-- 表单中密码的input名称 --> <property name="passwordParam" value="password" /> <property name="rememberMeParam" value="rememberMe"/> </bean>
4、登陆页面
在login.jsp中添加“记住我”checkbox。<tr> <td><input type="checkbox" name="rememberMe" />自动登陆</td> </tr>
总结,记住我的流程就相当于把用户序列化储存到本地的cookies文件中,下次要认证的时候,会先到cookies中判断有没有该用户,有就直接来拿,不用在认证。
5、判断有记住我有没有成功,那么如果成功,在页面的cookies中,会有一个名字为rememberMe的cookies
代表我的记住我功能成功!
7、github源码
https://github.com/yudiandemingzi/shiro_springMVC相关文章推荐
- 基于AOP实现权限管理:通过shiro认证身份和模拟授权认证
- 基于SSM + Redis的Shiro权限管理项目
- 【基于shiro的分布式权限管理系统】一个用Java、spring、mybatis和shiro开发的分布式权限管理系统
- 【权限管理】基于shiro的权限管理开发实现
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- 【基于url权限管理 shiro(一)】--基础
- 框架 day54 BOS项目练习(权限/角色/用户管理(CRUD),基于数据库实现动态授权,ehcache缓存权限,shiro标签,菜单权限展示)
- shiro教程(1)-基于url权限管理
- 基于RBAC的权限管理框架Shiro(1)框架简介
- 【迁移2016-03-28 14:53】Shiro(一):基于资源的权限管理(RBAC)
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- 基于shiro的权限管理-002授权
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- shiro-5基于url的权限管理
- 基于Shiro的用户权限管理管理思想
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- Shiro学习笔记——(2)前奏-基于url的权限管理