使用 Spring-Security 实现 HttpSessionLister 时出现问题
我正在将 Spring/Hibernate 和 Spring-Security 用于我的基于 Web 的应用程序。现在我有一个要求,我需要在 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);
如何确定其根本原因?
I am using Spring/Hibernate and Spring-Security for my web-based application. Now I have a requirement where I need to perform some database query at sessionDestroy method of HtppSessionLister.
Inside web.xml :
<listener>
<listener-class>com.test.TestSessionListner</listener-class>
</listener>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
With my implementation, after session timeout (of 1 min), its calling the sessionDestroyed method and fetching the required Object of TestFacade from the ApplicationContext.
Now my problem is whenever I am calling the following method using userFacade, its not able to execute the code inside the method :
Person person = testFacade.findPersonByUserId(userId);
How can I identify the root cause for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
终于得到了问题......
在
sessionDestroyed
中,我调用了一个方法:它需要比
anonymousUser
更高的权限才能执行该方法,并且在sessionDestroyed
code> 清除现有用户并使用anonymousUser
权限调用sessionDestroyed
方法。所以最后我写了一个代码,它是使用管理员编写的方法调用的。
Finally got the issue....
Inside
sessionDestroyed
I was calling a method :which needs some higher permissions then
anonymousUser
to execute the method, and atsessionDestroyed
its clearing the existing user and callingsessionDestroyed
method withanonymousUser
permission.So finally I have written a code, which is calling a method using Administrator writes.