Shiro 自动登录,通过 Shiro Remember Me 实现自动登录
Shiro 自动登录,通过 Shiro Remember Me 实现自动登录
小鲅鱼 发表于4年前
Shiro 自动登录,通过 Shiro Remember Me 实现自动登录
  • 发表于 4年前
  • 阅读 11719
  • 收藏 16
  • 点赞 1
  • 评论 14

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: shiro remember me 实现自动登录

(初始小白时学习记录,大家勿喷)

Shiro中有remember me,当登录时选择记住我,那么shiro 会对principal加密存储在cookies,我想通过该cookies实现用户自动登录的功能。(principal中存储的是用户登录时的username)

在系统全局拦截器中

 

//auto login
Subject subject = ShiroKit.getSubject(ai.getController()
		.getRequest().getServletContext());

if(!subject.isAuthenticated() && subject.isRemembered()){
	User user = User.dao.getUserByEmail(subject.getPrincipal().toString());
	subject.login(new UsernamePasswordToken(user.getStr(UserKey.EAMIL), 
			user.getStr(UserKey.PASSWORD), true, 
			ai.getController().getRequest().getRemoteAddr()));
	
	Session session = subject.getSession(false);
	session.setAttribute(MyConstants.SESSION_USER_NAME, user);
}

 

 

这样很简单的实现了自动登录。

共有 人打赏支持
小鲅鱼
粉丝 71
博文 74
码字总数 17470
评论 (14)
刘玉毫
不知道是在哪杜撰的文章,别误人子弟了。subject.isRemembered()关掉浏览器always return false,详情,请参考官方文档或源码。还有就算返回true,难道你家的数据库存的是明文吗。笑死人了。
小鲅鱼

引用来自“刘玉毫”的评论

不知道是在哪杜撰的文章,别误人子弟了。subject.isRemembered()关掉浏览器always return false,详情,请参考官方文档或源码。还有就算返回true,难道你家的数据库存的是明文吗。笑死人了。
这又和明文密码撤啥关系,不同应用场景~~说话牛嘴不对马嘴???
Zhao-Qian
User user = User.dao.getUserByEmail(subject.getPrincipal().toString());

这样不好吧。。。
小鲅鱼

引用来自“Zhao-Qian”的评论

User user = User.dao.getUserByEmail(subject.getPrincipal().toString());

这样不好吧。。。
是的,开始学习时 玩的
筱龙缘
我也是醉了
阳春白菜
把一个很smart的框架用的好stupid!
小鲅鱼

引用来自“阳春白菜”的评论

把一个很smart的框架用的好stupid!

学习的时候乱玩的~~
韩济蓬

引用来自“刘玉毫”的评论

不知道是在哪杜撰的文章,别误人子弟了。subject.isRemembered()关掉浏览器always return false,详情,请参考官方文档或源码。还有就算返回true,难道你家的数据库存的是明文吗。笑死人了。

引用来自“小鲅鱼”的评论

这又和明文密码撤啥关系,不同应用场景~~说话牛嘴不对马嘴???
你别在这吹牛逼,你也出个方案!
飞飙的蜗牛
误人子弟
小鲅鱼

引用来自“飞飙的蜗牛”的评论

误人子弟
刚开始 吓完的~
clark911
瞎鸡巴扯,这种文章误人子弟,@红薯 可有办法
红薯

引用来自“clark911”的评论

瞎鸡巴扯,这种文章误人子弟,@红薯 可有办法
办法就是你把正确的方法贴出来大家讨论
921977939qqcom
这人太垃圾;额
小鲅鱼

引用来自“921977939qqcom”的评论

这人太垃圾;额
初始写的东西,只是记录初衷,
但我看不出你有多么不垃圾。
×
小鲅鱼
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: