【问题标题】:How to Issue a new session token or session credentials upon successfully authentication如何在成功验证后颁发新的会话令牌或会话凭据
【发布时间】:2011-12-18 06:45:06
【问题描述】:

如何在成功验证用户身份后颁发新的会话令牌或会话凭据。我想删除前一个会话令牌或凭据,以及与前一个会话关联的服务器上下文,无论用户是否已登录。

登录后我需要一个新的 jsession id 以避免会话固定攻击。

请帮帮我,任何示例代码。

【问题讨论】:

    标签: java session


    【解决方案1】:

    如果您在用户通过身份验证后使会话无效,他将不再通过身份验证。为什么要这么做?我没看明白。

    要在注销后使会话失效,只需使用 session.invalidate()。

    【讨论】:

    • 其实,不想失效...登录后我需要一个新的 jsession id 以避免会话固定攻击。还想保留所有会话变量/属性。
    • 有趣(我不知道会话固定攻击这个术语)。不过,解决方案似乎很简单:禁用 url 重写并仅使用 cookie:stackoverflow.com/questions/962729/…。您还可以在登录时添加自定义 cookie,并设置一个过滤器来拒绝来自经过身份验证的用户的请求,这些用户没有具有适当值的 cookie。
    • 我的 URL 不包含任何 jsessionid..session 固定是一种安全攻击,攻击者可以劫持经过验证的 sessionid 并代表受害者进行未经授权的交易。我得到了解决方案,我需要存储所有现有会话数据并使现有会话无效,然后创建新会话并将数据添加到其中。
    猜你喜欢
    • 2016-07-30
    • 1970-01-01
    • 2020-09-29
    • 2015-08-30
    • 2022-11-18
    • 2020-10-10
    • 2018-05-23
    • 2010-10-05
    • 1970-01-01
    相关资源
    最近更新 更多