【求助】问下shiro 框架的注销日志记录怎么实现?谢谢。 10C

系统的登录和注销都是用shiro实现,其中登录的日志我是通过aop切自定义实现AuthorizingReam类的子类AuthorizingRealm方法实现的,而注销的日志记录就不知道怎么实现了,用过aop切shiro内置类DelegatingSubject的logout方法,可是切不进去,bean是这么写的

,由于这个系统是个几年前的老系统,突然要求加个登录注销日志,试了一天以后感觉有点无从下手了,希望大神们给点意见。只要能实现记录注销日志的功能就行。

6个回答

登录通过切AuthorizingReam的子类的重写方法doGetAuthenticationInfo实现。不知道思路对不对,注销就完全没有头绪了。我知道aop的对象必须是ioc管理的bean,所以我也在applicationContext.xml里面配置了注销shiro的内部实现类DelegatingSubject的bean,继承于接口Subject,

person008
person008 退出你最后怎么实现的啊,我现在也是这个问题
大约 2 年之前 回复
person008
person008 退出你最后怎么实现的啊,我现在也是这个问题
大约 2 年之前 回复




 <bean class="org.apache.shiro.subject.support.DelegatingSubject">
        <constructor-arg ref="securityManager"/>
 </bean>

自己写个Controller 里面实现 SecurityUtils.getSubject().logout() 然后切面切进来不就得了。

然后重定向回登陆页面

shiro提供了LogoutFilter过滤器,我们可以继承LogoutFilter,重写preHandle方法,实现注销日志记录

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

对shiro框架的一些疑惑

shriro框架的锁定,是存储在缓存里的么?那为什么还在数据库里记录是否锁定?如果服务器重启,锁定是不是解除?那框架对shiro存储在数据库里是否锁定的标记怎么处理?就是说,如果我被锁定了十分钟,一旦服务器重启,这十分钟怎么弄?相应的rememberme的处理是怎样的?。。最后一个问题,密码匹配是将匹配密码再加密一遍与数据库加过密的密码匹配,还是只需要登入密码就可以

SSM+shiro框架如何做出session到期后直接自动弹出框提示登陆过期

SSM+shiro框架如何做出session到期后直接自动弹出框提示登陆过期, 点击确定后返回登陆页面

shiro这类的安全框架,为程序员带来了哪些便利?

我看网上很多人用shiro控制权限,可是控制权限,用if就可以控制,如果用shiro之类的安全框架控制,反而是麻烦了 我觉得安全框架应该不是主要为了控制权限而生吧! 应该会有其他一些用途

dubbo分布式部署项目中shiro权限框架的配置

现在做了一个dubbo管理的分布式项目,service层为一个maven项目,里面有web.xml配置,和数据源,事务,redis.activiti,spring等配置,然后表现层为一个maven项目,里面有web.xml配置,和springMVC配置,web.xml中加载了classpath:springMVC.xml配置, 重点:现在配置shiro权限框架,静态资源都在表现层的maven项目中,现在如何配置shiro框架,尝试过在service层项目中配置,但是部署启动后,无法过滤登录页面等等,而且登录提交时报错,,,,百度说shiroFilter应该配置在springMVC前面,,,现在如何配置shiro,,,,service层项目都是配置成applicationContext_*.xml这种配置,Spring扫描,,,,但是表现层maven项目中改如何配置shiro,表现层有spring的jar包,但是好像没有配置spring扫面,, 最好有参考的配置模版,,,,各路大神,跪求,速速,,,,,,,如果模版比较好,参考后非常实用,起到很大作用,,,,请留下你的联系方式,,,红包(RMB)感谢!!!!!!!!!!!!!!!!!!!!!!!!!! 因个人能力有限,请大神赐教!!!!! 速度,急求

我们后台用tomcat前台页面nginx不代理tomcat如何让shiro框架生效啊

我们后台用tomcat前台页面nginx不代理tomcat如何让shiro框架生效啊

关于shiro认证登陆这块

最近在研究Shiro框架,我想知道大家是如何保存登录用户信息的,以前不用Shiro的时候存放在Session中, 现在我是如下方法获取登录用户信息: ![图片说明](https://img-ask.csdn.net/upload/201709/03/1504418815_668070.png) 但是获取的是null,这是我的realm代码,按道理应该已经吧user存储起来了才对: ![图片说明](https://img-ask.csdn.net/upload/201709/03/1504418864_246032.png) ,但是就是获取不到,存在Shiro的Session里面也是获取不到,请问呢保存用户信息是需要自己实现还是Shiro框架已经实现,如何实现呢? 感谢!

shiro框架怎么处理rest风格的url

在restful风格的springmvc路径中,例如editUser/1,这种路径中带参数的url,shiro拦截的时候怎么处理

用spring mvc 加 shiro 权限框架 放行一个动态网址

在最近一个项目中 在用到springmvc shiro 权限框架中想要放行一个动态网址该如何做到 比如要放行一个动态网址http://192.168.0.001:8080/PlatForm/person/actionMail/Wdef880003051749/174340/2E1208 就是在其他浏览器只要输入这个网址访问到我的项目 在spring-shiro 中如何配置 <bean id="shiroFilterFactoryBean" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="filterChainDefinitions"> <value> /css/** =anon /font/** =anon /images/** =anon /img/** =anon /scene/**=anon /js/** = anon /** =authc </value> </property> </bean> 有知道的大牛望告知 谢谢!!!

使用shiro框架登录用的是邮箱, 在页面怎么显示用户的姓名?

在后台代码principal的属性中存的是用户的登录邮箱, 用户姓名只是给前台显示,在后台用到邮箱信息的还是比较多,所以没把用户姓名放进去。 对shiro了解不是很多问下大佬们有什么好的解决方法。

我需要一个整合spring boot shiro JWT 实现token认证

<!-- shiro依赖--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>1.4.0</version> </dependency> <!-- jwt依赖--> <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.4.1</version> </dependency> 依赖 整合jwt和shiro安全框架,实现token认证 我需要demo文件

springboot框架下,用的shiro,然后要在html页面获取登录名,该怎么实现??

springboot框架下,用的shiro,然后要在html页面获取登录名,该怎么实现?? ``` @RequestMapping(value = "/dealLogin",method = RequestMethod.POST) public String login( @RequestParam("loginName") String loginName, @RequestParam("password") String password, @RequestParam("realname") String realname){ Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken(loginName, password,realname); /** * 1、查询用户是否存在; * 2、用户存在查出用户信息,比对凭证; * 3、对输入的凭证信息加密与查出的凭证比较; * 4、凭证一致,根据用户名查询该用户的权限集合; * 5、将用户信息进行脱密后和权限信息存储(session); * 6、返回登陆成功信息; * 使用shiro后,这些步骤统一交给shiro处理 */ try { subject.login(token); if (subject.isAuthenticated()){ System.out.println("登录成功!!!!!!!!!"); if (realname.equals("会员")){ return "redirect:memberView"; }else if (realname.equals("管理员")){ return "redirect:main"; }else { return "redirect:index"; } } } catch (AuthenticationException e) { e.printStackTrace(); } return "index"; } ```

cas集成shiro框架实现单点登出只有第一次有效

我用cas集成shiro框架实现单点登出,当第一次注销的时候在访问别的客户端时跳回到cas登录页面,并且里面的所以内容必须登录之后才能访问,不关闭浏览器,然后第二次在点击注销后,跳转到cas登录页面,但是通过浏览器地址可以访问到里面的内容,请问这是什么情况。

ssm maven shiro 求大神赐予我一个框架搭建的连接

求大神赐予我一个含有shiro的ssm框架的搭建连接 小弟我搭建了一个不能用啊 报的错误我都不能理解

shiro怎样在Remember的情况实现自动登录?

现在遇到一个问题,如何实现Remember的情况实现自动登录?据网上所说,需要extends FormAuthenticationFilter,可是不知该如何实现!初学shiro,请大家多指教!

为什么要用shiro ???

如题,为什么要用shiro. <br/> 首先本人是新学者,并没有贬低shiro的意思。<br/> shiro两大功能,1.验证是不是某个角色,也可以说是验证登录<br/> 2.验证该角色有没有某种权限。 <br/> 如果不用这个框架,本人思路就是写验证的dao,角色权限等信息都在数据库里。<br/> 直接调用dao就可以验证。 使用shiro,同样要写验证的dao,验证时使用shiro,再由shiro调用dao。 这不是多了一步吗? <br/> shiro框架到底简化了什么。

自己写filter来控制权限好还是用shiro之类的框架

自己写、shiro、spring Security各自的优缺点

SSH框架加入shiro,注入拦截规则后页面一直在登录界面跳转?(注释最后一个规则就不会)?

![图片说明](https://img-ask.csdn.net/upload/201810/24/1540350773_465054.png)

请问 使用shiro想去掉remmemberMe

shiro 并没有配置 rememberMe相关配置 , 但是在浏览器cookie里却有 rememberMe ,造成session过期,一刷新浏览器又能继续访问需要认证的链接, 求大神指导. 小弟在此谢过了. ![图片说明](https://img-ask.csdn.net/upload/201710/15/1508048156_930368.png) ![图片说明](https://img-ask.csdn.net/upload/201710/15/1508048186_891445.png) <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd "> <!-- 凭证匹配器 --> <bean id="credentialsMatcher" class="org.apache.shiro.authc.credential.HashedCredentialsMatcher"> <property name="HashAlgorithmName" value="md5"></property> <property name="hashIterations" value="1"></property> </bean> <!-- realm --> <bean id="userRealm" class="cn.itcast.act_web.shiro.dao.UserRealm"> <property name="credentialsMatcher" ref="credentialsMatcher" ></property> </bean> <!-- ehcache缓存管理器--> <bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager"> <property name="cacheManagerConfigFile" value="classpath:shiro-ehcache.xml"></property> </bean> <!-- Shiro 的 session管理器 <bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager"> <property name="globalSessionTimeout" value="180000"></property> <property name="deleteInvalidSessions" value="true"></property> </bean> --> <!-- securityManager --> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="userRealm"></property> <!-- <property name="cacheManager" ref="cacheManager"></property> --> <!-- <property name="sessionManager" ref="sessionManager"></property> --> </bean> <!-- web.xml 中shiro的filter 对应的bean --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager"></property> <property name="loginUrl" value="/loginUI.jsp"></property> <!-- <property name="successUrl" value="/home/index.action"></property> --> <property name="unauthorizedUrl" value="/loginUI.jsp"></property> <property name="filterChainDefinitions" > <value> <!-- 静态资源匿名访问 --> /images/** = anon /js/** = anon /styles/** = anon /image/** = anon /script/** = anon /style/** = anon <!-- 必须将登录action 及登录提交action匿名 --> /home/index.action*= anon /loginsubmit.action* = anon <!-- /validatecode.jsp* = anon --> <!-- 退出登陆的地址,shiro去清楚session --> /home/logout.action = logout <!-- /cgd/addcgd.action = perms["cgd/addcgd.act"] --> <!-- 如果设置 Cookie 记住我, 则不能使用此user过滤器,还会拦截 --> /index.jsp* = user <!-- /first.action* = user --> <!-- /welcome.action* = user --> <!-- /getmenus.action* = user --> <!-- 所有的URL都必须认证通过才能访问, --> /** = authc <!-- 所有的url 都可以匿名访问 --> <!-- /** = anon --> </value> </property> </bean> </beans>

使用cas集成shiro框架生成单点登录系统

谁有使用cas集成shiro框架生成单点登录系统的源码,最好是spring方式的,急用,谢了。

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c# 开发接口 c# 中方法上面的限制 c# java 时间戳 c#单元测试入门 c# 数组转化成文本 c#实体类主外键关系设置 c# 子函数 局部 c#窗口位置设置 c# list 查询 c# 事件 执行顺序
立即提问
相关内容推荐