文档章节

Shiro 自动登录,通过 Shiro Remember Me 实现自动登录

leon_rock
 leon_rock
发布于 2013/10/05 05:43
字数 150
阅读 12295
收藏 16
点赞 1
评论 14

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

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);
}

 

 

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

© 著作权归作者所有

共有 人打赏支持
leon_rock

leon_rock

粉丝 71
博文 75
码字总数 17541
作品 0
大连
高级程序员
加载中

评论(14)

leon_rock
leon_rock

引用来自“921977939qqcom”的评论

这人太垃圾;额
初始写的东西,只是记录初衷,
但我看不出你有多么不垃圾。
921977939qqcom
921977939qqcom
这人太垃圾;额
红薯
红薯

引用来自“clark911”的评论

瞎鸡巴扯,这种文章误人子弟,@红薯 可有办法
办法就是你把正确的方法贴出来大家讨论
clark911
clark911
瞎鸡巴扯,这种文章误人子弟,@红薯 可有办法
leon_rock
leon_rock

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

误人子弟
刚开始 吓完的~
飞飙的蜗牛
飞飙的蜗牛
误人子弟
韩济蓬
韩济蓬

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

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

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

这又和明文密码撤啥关系,不同应用场景~~说话牛嘴不对马嘴???
你别在这吹牛逼,你也出个方案!
leon_rock
leon_rock

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

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

学习的时候乱玩的~~
阳春白菜
阳春白菜
把一个很smart的框架用的好stupid!
筱龙缘
筱龙缘
我也是醉了
springboot(十四):springboot整合shiro-登录认证和权限管理

这篇文章我们来学习如何使用Spring Boot集成Apache Shiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有Spring Security、Apache Shiro等安全...

ityouknow
2017/06/28
0
0
springboot(十四):springboot整合shiro-登录认证和权限管理

这篇文章我们来学习如何使用Spring Boot集成Apache Shiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有Spring Security、Apache Shiro等安全...

纯洁的虫纸
2017/06/28
0
0
转:springboot整合shiro-登录认证和权限管理

这篇文章我们来学习如何使用spring Boot集成Apache Shiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有Spring Security、Apache Shiro等安全...

芝麻绿豆
2017/07/25
524
0
Shiro权限框架认证和授权原理介绍

1、简介 shiro是一个安全框架,是Apache的一个子项目。shiro提供了:认证、授权、加密、会话管理、与web集成、缓存等模块。 1.1、模块介绍 Authentication:用户身份识别,可以认为是登录; ...

小红牛
06/15
0
0
shiro 怎样在Remember的情况 自动登录?

shiro 在浏览器关掉,然后再次打开访问网站的时候. Subject.isRemembered()=trueSubject.isAuthenticated=false 如果某些url是auth才能访问的那么就必须先login 如果密码没有经过加密是可以通...

caiw
2014/06/07
835
1
shiro简单入门

shiro简介绍; Apache Shiro是Java的一个安全框架。 Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等 Authentication:身份认证/登录,验证用户是不是拥有相应的身份;...

xpttxsok
2016/04/24
58
0
shiro使用之一

1.结构总览图 Authentication:身份认证/登录,验证用户是不是拥有相应的身份; Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用 户是否能做事情,常见的...

乾坤刀
2017/07/27
0
0
Shiro权限框架简介

最近加入了gxpt项目组,被安排做权限模块,所以也有幸第一次接触到了Shiro框架。让我们来一起领略Shiro的风采吧。 什么是Apache Shiro? Apache Shiro(发音为“shee-roh”,日语“堡垒(Cas...

白志华
2015/10/18
151
0
第一章 Shiro简介——《跟我学Shiro》

1.1 简介 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不...

真爱2015
2015/12/15
87
0
跟我学Shiro

1.1 简介 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不...

kevin728971010
2016/10/25
122
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
6
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部