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

发布于 2024-12-03 14:01:20 字数 672 浏览 1 评论 0原文

我正在将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苹果你个爱泡泡 2024-12-10 14:01:20

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

sessionDestroyed 中,我调用了一个方法:

Person person = testFacade.findPersonIdByUserId(userId);

它需要比 anonymousUser 更高的权限才能执行该方法,并且在 sessionDestroyed code> 清除现有用户并使用 anonymousUser 权限调用 sessionDestroyed 方法。

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

Finally got the issue....

Inside sessionDestroyed I was calling a method :

Person person = testFacade.findPersonIdByUserId(userId);

which needs some higher permissions then anonymousUser to execute the method, and at sessionDestroyed its clearing the existing user and calling sessionDestroyed method with anonymousUser permission.

So finally I have written a code, which is calling a method using Administrator writes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文