【问题标题】:Form Authentication - Listener表单身份验证 - 侦听器
【发布时间】:2012-09-15 03:47:22
【问题描述】:

我在 Java JSP/Servlet 应用程序中使用基于 FORM 的身份验证方法。我想在成功登录后“做点什么”。有没有听众可以帮助我做到这一点?我不想在每一页的开头放任何代码。

【问题讨论】:

    标签: java jsp jakarta-ee servlets servlet-listeners


    【解决方案1】:

    通常,身份验证是一个横切关注点,您应该将其提取到身份验证ServletFilter,该身份验证应用于所有需要对用户进行身份验证的 servlet。如果您有这样的过滤器,则此逻辑将在成功验证后进入该过滤器。

    【讨论】:

    • 好的,我明白了。非常感谢您的回答。我将所有页面上的过滤器设置为“/*”,但您能否告诉我是否有可能发现上一页是“login.page”(在该表单上,我已将操作设置为“j_security_check”)?
    • 假设您将使用 cookie 来跟踪登录后的用户会话,我仍然认为只有一个代码路径,可以在传入请求中没有 cookie 的情况下验证表单输入。这个登录后处理程序代码应该放在那里。
    • 我只想在成功登录后立即执行一次。为此,我需要知道这是登录后的第一页。你认为找到它的唯一方法是检查一些cookie吗?如果没有设置 cookie 是否意味着这是第一页?
    • cookie 逻辑也有效。我感兴趣的是该过滤器如何能够知道您必须在用户开始时验证表单输入。
    • 成功登录后,我将拥有 UserPrincipals,然后我会做一些“事情”,最后我会设置 cookie。过滤器的下一次调用将取决于此 cookie。
    猜你喜欢
    • 2018-10-17
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多