Shiro实现用户自动登录

用户的自动登录功能,顾名思义就是当用户在网站登录后,关闭了浏览器或者服务器重启了在下一次用户访问该网站时能自动将上次用户的登录信息取出来并立即登录,而不再需要用户去做登录操作。 

在我做的一个视频教程网站(http://www.icoolxue.com,一个高清视频教程在线观看的网站)上加入了此功能。 

Shiro是一个强大的安全框架,它提供了一个叫Remeber Me的功能来实现用户的自动登录。需要在全局拦截器(Filter也可以)中加入如下代码:

?
1
2
3
4
5
6
7
8
9
10
11
Subject subject = SecurityUtils.getSubject();
if (!subject.isAuthenticated() && subject.isRemembered()) {
             Object principal = subject.getPrincipal();
             if ( null != principal) {
                 User user = userSvc.getByUsername(String.valueOf(principal));
                 String password = user.getPassword();
                 UsernamePasswordToken token = new UsernamePasswordToken(user.getUsername(), password);
                 token.setRememberMe( true );
                 subject.login(token); //登录
             }
         }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值