记住我(RememberMe)的功能
Shiro 提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:
- 1、首先在登录页面选中RememberMe 然后登录成功;如果是浏览器登录,一般会把RememberMe的Cookie 写到客户端并保存下来;
- 2、关闭浏览器再重新打开;会发现浏览器还是记住你的;
- 3、访问一般的网页服务器端还是知道你是谁,且能正常访问;
- 4、但是比如我们访问淘宝时,如果要查看我的订单或进行支付时,此时还是需要再进行身份认证的,以确保当前用户还是你.
配置基于Form表单的身份验证过滤器
<bean id="formAuthenticationFilter" class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter">
<property name="usernameParam" value="username" />
<property name="passwordParam" value="password" />
<property name="rememberMeParam" value="rememberMe" />
<property name="loginUrl" value="/api/user/login" />
</bean>
拦截器配置
/** = user
使用shiro默认的user拦截器。该拦截器要求用户已经登录或者勾选了RememberMe,就可以放行。
前端
shiro设置rememberMe
用firefox浏览器可以看出,shiro在返回响应的时候,首先删除了之前的rememberMe的cookie,然后重新在客户端设置了rememberMe的cookie。
cookie详细信息,shiro默认设置有效期为1年
用户再次访问时,浏览器会发送这个rememberMe的cookie给服务端,无需再登录即可访问
其他说明
源码托管在https://github.com/Jdoing/myweb;
参考http://jinnianshilongnian.iteye.com/blog/2031823;
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
spring整合shirospring-data-redis和spring-session-data-redis通过shiro实现单点登录
本人亲自写的Demo,可运行没问题,其中包括RememberMy章节的髌,可以用jetty运行,我把Ehcache缓存改成了3秒,有需要可以自己改回来。
Shiro实现登录授权功能
shiro在web的实现,使用jsp实现,给html实现了登陆测试。
【SpringBoot】廿三、SpringBoot中整合Shiro实现权限管理.pdf【SpringBoot】廿三、SpringBoot中整合Shiro实现权限管理.pdf【SpringBoot】廿三、SpringBoot中整合Shiro实现权限管理.pdf【SpringBoot】廿三、...
【SpringBoot】廿三、SpringBoot中整合Shiro实现权限管理.docx【SpringBoot】廿三、SpringBoot中整合Shiro实现权限管理.docx【SpringBoot】廿三、SpringBoot中整合Shiro实现权限管理.docx【SpringBoot】廿三、...
CVE-2016-4437 Shiro550 & Shiro721 RememberMe Padding Oracle Shiro721 RememberMe Padding Oracle影响版本: - Apache Shiro 1.2.5,1.2.6,1.3.0,1.3.1,1.3.2,1.4.0-RC2,1.4.0,1.4.1 CVE-2016-4437 ...
nutz基于shiro实现身份认证和权限认证博客源代码
本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能
SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 ...
本文小编将基于 SpringBoot 集成 Shiro 实现动态uri权限,由前端vue在页面配置uri,Java后端动态刷新权
该文档详细地介绍了如何将shiro框架应用到web项目中,对开发很有帮助
vue+shiro实现前端细颗粒按钮级权限,并且可以实现删除和禁用两种不同模式,里面需要的前置技术包括 :vue\vue的自定义指令\vue的自定义插件\vuex
ssm+shiro实现简单的登陆认证功能,简单明了,适合小白~
登录网站,并从cookie中获取RememberMe。 使用RememberMe cookie作为填充Oracle Attack的前缀。 加密ysoserial的序列化有效负载,以通过填充Oracle Attack制作精心制作的RememberMe。 请求带有新的RememberMe cookie...
内容涵盖 Shiro 认证、加密、授权、安全标签、安全注解、会话管理、缓存、Rememberme 等 JavaEE 企业级开发的核心技术。视频讲授过程中通过分析源代码使学员知其然更知其所以然。 【课程内容】 第一章 问候 Shiro ...
shiro web集成方向api,chm格式的。
赠送jar包:shiro-web-1.3.2.jar; 赠送原API文档:shiro-web-1.3.2-javadoc.jar; 赠送源代码:shiro-web-1.3.2-sources.jar; 包含翻译后的API文档:shiro-web-1.3.2-javadoc-API文档-中文(简体)版.zip 对应...
的认证功能设计实现了 能及时反馈用户账号异常的登录认证系统。最后结合 Shiro 的通配符权限,设计实 现了多层次细粒化的权限控制系统,并针对权限配置工作量大的问题提出了权限预 置的解决方案。 最后,通过对...