Shiro学习(八) Shiro 自动登录

1、在spring.xml添加配置

<bean class="org.apache.shiro.web.mgt.CookieRememberMeManager" id="rememberMeManager">
        <property name="cookie" ref="cookie"/>
    </bean>

    <bean class="org.apache.shiro.web.servlet.SimpleCookie" id="cookie">
        <constructor-arg value="rememberMe"/>
        <!--设置过期时间-->
        <property name="maxAge" value="200000"/>
    </bean>

2、在页面添加选择框

<input type="checkbox" name="rememberMe"> 记住我 <br>

3、在UserController添加token.setRememberMe(user.getRememberMe());

@RequestMapping(value = "/subLogin",method = RequestMethod.POST,
            produces = "application/json;charset=utf-8")
    @ResponseBody
    public String subLogin(User user){
        Subject subject = SecurityUtils.getSubject();

        UsernamePasswordToken token = new UsernamePasswordToken(user.getUsername(),user.getPassword());

        try {
            token.setRememberMe(user.getRememberMe());
            subject.login(token);
        } catch (AuthenticationException e) {
           return e.getMessage();
        }
//        return "登陆成功";
        if (subject.hasRole("admin")){
            return "有admin权限";
        }

        return "无admin权限";
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容