Shiro-RememberMe
2024-10-07 10:44:30
概述
认证和记住我
建议
身份验证相关
实现
如果要自己做RememeberMe,需要在登录之前创建Token:UsernamePasswordToken(用户名,密码,是否记住我),且调用
UsernamePasswordToken 的 : token.setRememeberMe(true);
@RequestMapping("/login")
public String login(@RequestParam("userName") String userName,
@RequestParam("password") String password) { Subject currentUser = SecurityUtils.getSubject(); if (!currentUser.isAuthenticated()) {
UsernamePasswordToken token = new UsernamePasswordToken(userName,
password);
token.setRememberMe(true);
try {
currentUser.login(token);
} catch (AuthenticationException e) {
System.out.println("登录失败:" + e.getMessage());
}
}
return "redirect:/list.jsp"; }
RememeberMe 实际上是由 rememeberMeManager进行配置的 rememeberMeManager是SecurityManager的一个属性,
所以可以在 applicationContext的 SecurityManager 中配置 rememeberMeManager
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="cacheManager" ref="cacheManager"/>
<!-- Single realm app. If you have multiple realms, use the 'realms' property instead. -->
<!-- 配置session的管理方式 -->
<!-- <property name="sessionMode" value="native"/> -->
<!-- <property name="realm" ref="jdbcRealm"/> -->
<!-- 配置多个Realm -->
<property name="authenticator" ref="authenticator"></property> <property name="realms">
<list>
<ref bean="jdbcRealm"/>
<ref bean="secondRealm"/>
</list>
</property>
<!-- 将cookie的作用时间配置为10s -->
<property name="rememberMeManager.cookie.maxAge" value="10"></property>
</bean>
可以看到 cookie的maxAge已被修改为 10s
当然 rememeberMeManager也可以单独配置
最新文章
- Selenium+python 配置
- NOIP2001 一元三次方程求解[导数+牛顿迭代法]
- fzu2188 状压dp
- 记一次VNC远程连接Linux问题解决记录(5900端口测试、KDE桌面安装)
- leetcode-Single Number III 找独数
- 【转】C#中没有id 没有name C#怎么点击按钮
- ELK之nginx日志分析图表创建
- poj 2432 Around the world bfs+哈希
- Entity Framework 6.1-Code First【转】
- Python -- machine learning, neural network -- PyBrain 机器学习 神经网络
- Web中的积累:外观模式 Facade
- 解决Postgres无法连接的问题
- http://ctf.bugku.com/challenges#%E9%80%86%E5%90%91%E5%85%A5%E9%97%A8:bugku--逆向入门
- downLoad
- MyBatis 源码分析 - 插件机制
- MVC使用Redis实现分布式锁
- Go语言之高级篇beego框架之请求数据处理
- [pat]1045 Favorite Color Stripe
- atrous convolution
- 3. CNN卷积网络-反向更新
热门文章
- 每天一个Linux命令(62)rcp命令
- java 断言工具类
- 主攻ASP.NET MVC4.0之重生:发邮箱激活验证
- 基于Visual c++ 2012的php扩展开发 - HelloWord!
- MySQL备份账号权限
- Linux文件系统十问---深入理解文件存储方式(rhel6.5,EXT4)【转】
- html页面转JSP之后样式变化的问题
- nodejs 中module.exports 和 exports 区别详细介绍
- [kuangbin带你飞]专题十 匹配问题 一般图匹配
- js装饰者模式