课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > Apache Shiro中的Remember Me服务
  • Apache Shiro中的Remember Me服务

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

  • 昆明达内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标签库

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56