shiro - rememberMe

applicationContext-shiro.xml

我这里只列出rememberMe需要添加的部分,详细的,最下面有。

 

    
        
        
        
    

    
        
        
    

    
        
    

       
        
            
                /test2.jsp = user
            
        
    

maxAge设置了30天,也就是说,在30天之内,你成功认证通过了或者选择了RememberMe,直接访问test2.jsp页面,都可以访问成功。因为我对/test2.jsp设置了user,也就是只能认证通过或者记住我,才能访问这个页面。

(我又遇到了时区差八小时的问题。+_+。 )  从19:27分设置的,加30天。结果就是这样。需要考虑时区的问题。

下面是我自己写的controller:

@Controller
@RequestMapping("/v1")
public class UserController {

    @RequestMapping("/login")
    public String login(User user, Model model, HttpServletRequest request) {
        if (user.getUsername() == null) {
            model.addAttribute("error", "账号不能为空");
            return "forward:/login.jsp";
        }
        Subject subject = SecurityUtils.getSubject();
        UsernamePasswordToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword());
        Boolean isRemember = Boolean.valueOf(request.getParameter("rememberMe"));
        if (isRemember)
            token.setRememberMe(true);
        try {
            subject.login(token);
        } catch(AuthenticationException e) {
            model.addAttribute("error", "登录失败");
            e.printStackTrace();
            return "forward:/login.jsp";
        }
        if (subject.isAuthenticated() || subject.isRemembered())
            return "loginSuccess";
        return null;
    }
}

这个是我完整的配置文件:




    
    
        
    

    
    
        
        
        
        
        
    

    
    

    
    
        
        
        
        
    

    
        
        
        
    

    
        
        
    

    
    
        
        
    

    
    
        
        
        
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
            
                
            
        
        
        
    

    
    
        
        
    

    
    
        
        
        
        
        
            
                /index.jsp = anon
                /jsp/unauthorized.jsp = anon
                /login.jsp = anon
                /jsp/logout = logout
                /test2.jsp = user
            
        
    

    
    

    
    
        
    


ehcache2.xml: 




    

    

    

    
    
    

    
    

    
    

    
    

如有疑问,请联系我本人。QQ:2630866203

你可能感兴趣的:(shiro)