昆明java培训
达内昆明广州春城路

18487146383

热门课程

Apache Shiro中的Remember Me服务

  • 时间:2016-10-19
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明达内Java培训的老师知道,如果AuthenticationToken实现了org.apache.shiro.authc.RememberMeAuthenticationToken接口,Shiro将支持rememberMe服务

接口中有一个boolean isRememberMe();方法,如果返回true,Shiro将会通过session记住终端用户的身份。

UsernamePasswordToken实现了RememberMeAuthenticationToken,支持RememberMe服务。

3.1代码支持

在代码中使用RememberMe,可以在支持此配置的类中设置其值为true。如标准的UsernamePasswordToken:

UsernamePasswordToken token = new UsernamePasswordToken(username, password);

token.setRememberMe(true);

SecurityUtils.getSubject().login(token);

3.2表单登录

在web应用中,authc过滤器默认是FormAuthenticationFilter。这支持读取'rememberMe'的布尔值作为表单请求的参数。默认情况下,请求参数的name为rememberMe。如:

[main]

authc.loginUrl = /login.jsp

[urls]

# your login form page here:

login.jsp = authc

登录表单,其中有一个checkbox的name为'rememberMe':

<form ...>

Username: <input type="text" ame="username"/> <br/>

Password: <input type="password" name="password"/>

<input type="checkbox" ame="rememberMe" value="true"/>Remember Me?

</form>

默认情况下, FormAuthenticationFilter将查找name为username, password和rememberMe的请求参数.如果不是默认的name值,那么需要配置FormAuthenticationFilter.如在shiro.ini中:

[main]

authc.loginUrl = /whatever.jsp

authc.usernameParam = somethingOtherThanUsername

authc.passwordParam = somethingOtherThanPassword

authc.rememberMeParam = somethingOtherThanRememberMe

3.3 Cookie配置

通过设置默认的RememberMeManager的各个cookie属性可以配置rememberMe cookie如何起作用.如在shiro.ini中:

[main]

securityManager.rememberMeManager.cookie.name = foo

securityManager.rememberMeManager.cookie.maxAge = blah

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:java程序员:Session管理
下一篇:【昆明达内Java培训】JSP/GSP标签库

Effective java的创建和销毁对象

昆明达内Java培训学费多少?

LinkedIn服务:三人行,必有我师【达内java培训】

Java培训:7月排行榜Go创新高Java稳第一

选择城市和中心
贵州省

广西省

海南省

台湾