我正在为我的基于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);
无法确定原因,任何帮助都将受到高度赞赏..
感谢。
答案 0 :(得分:0)
终于得到了问题......
在sessionDestroyed
内部我正在调用一种方法:
Person person = testFacade.findPersonIdByUserId(userId);
需要一些更高的权限,然后anonymousUser
才能执行该方法,并在sessionDestroyed
清除现有用户并使用sessionDestroyed
权限调用anonymousUser
方法。
所以最后我写了一个代码,它使用管理员写入来调用方法。