您的位置:首页 > 其它

【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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐