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

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

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

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




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

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

然后重定向回登陆页面

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