jsp实现登录验证 shiro之记住登录信息

电脑杂谈  发布时间:2018-02-12 08:25:21  来源:网络整理

jsp实现登录验证论文_jsp注册页面表单验证_jsp实现登录验证

jsp实现登录验证

Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:

1、首先在登录页面选中RememberMe然后登录成功;如果是浏览器登录,一般会把RememberMe的Cookie写到客户端并保存下来;

2、关闭浏览器再重新打开;会发现浏览器还是记住你的;

3、访问一般的网页服务器端还是知道你是谁,且能正常访问;

4、但是比如我们访问淘宝时,如果要查看我的订单或进行支付时,此时还是需要再进行身份认证的,以确保当前用户还是你。

RememberMe配置

spring-shiro-web.xml配置:

Java代码

<!-- 会话Cookie模板 --> 
<bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie"> 
  <constructor-arg value="sid"/> 
  <property name="httpOnly" value="true"/> 
  <property name="maxAge" value="-1"/> 
</bean> 
<bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie"> 
  <constructor-arg value="rememberMe"/> 
  <property name="httpOnly" value="true"/> 
  <property name="maxAge" value="2592000"/><!-- 30天 --> 
</bean>  

sessionIdCookie:maxAge=-1表示浏览器关闭时失效此Cookie;

rememberMeCookie:即记住我的Cookie,保存时长30天;

Java代码

<!-- rememberMe管理器 --> 
<bean id="rememberMeManager"  
class="org.apache.shiro.web.mgt.CookieRememberMeManager"> 
  <property name="cipherKey" value=" 
#{T(org.apache.shiro.codec.Base64).decode('4AvVhmFLUs0KTA3Kprsdag==')}"/> 
   <property name="cookie" ref="rememberMeCookie"/> 
</bean> 

rememberMe管理器,cipherKey是加密rememberMe Cookie的密钥;默认AES算法;

Java代码

<!-- 安全管理器 --> 
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> 
…… 
  <property name="rememberMeManager" ref="rememberMeManager"/> 
</bean> 


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-73196-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...