使用Spring-Security实现HttpSessionLister时出现问题

时间:2011-09-07 08:42:20

标签: java session spring-security

我正在为我的基于Web的应用程序使用Spring / Hibernate和Spring-Security。现在我需要在HtppSessionLister的sessionDestroy方法中执行一些数据库查询。

内部web.xml:

<listener>
        <listener-class>com.test.TestSessionListner</listener-class>
</listener>
<session-config>
        <session-timeout>1</session-timeout>
</session-config>

通过我的实现,在会话超时(1分钟)之后,它调用sessionDestroyed方法并从 ApplicationContext 中获取 TestFacade 所需的对象。

现在我的问题是每当我使用userFacade调用以下方法时,它无法执行方法内的代码:

Person person = testFacade.findPersonByUserId(userId);

无法确定原因,任何帮助都将受到高度赞赏..

感谢。

1 个答案:

答案 0 :(得分:0)

终于得到了问题......

sessionDestroyed内部我正在调用一种方法:

Person person = testFacade.findPersonIdByUserId(userId);

需要一些更高的权限,然后anonymousUser才能执行该方法,并在sessionDestroyed清除现有用户并使用sessionDestroyed权限调用anonymousUser方法。

所以最后我写了一个代码,它使用管理员写入来调用方法。