【问题标题】:Implement session-based authentication with Nancy使用 Nancy 实施基于会话的身份验证
【发布时间】:2023-04-03 02:51:02
【问题描述】:

这是Is Forms Authentication as described in the Nancy docs susceptible to session hijacking?的后续问题

感谢Steven Robbins' answer,我现在了解了 Nancy 表单身份验证的工作原理及其背后的想法。

但是,对于我的应用程序来说,这种方法是不够的。如果攻击者设法窃取 auth cookie 一次,就不可能获得永久访问权限。因此,我目前正在研究切换到基于会话的身份验证方法的可能性,这样我就可以在用户注销时以及在固定时间后使会话无效。

Nancy 好东西,可以定制!

我的问题是,重用 Nancy.FormsAuthentication 是否有意义?我想到的一种解决方案是使用户标识符仅暂时有效。这样我会在用户注销时从用户数据库中删除 GUID 标识符,并在每次用户登录时创建一个新标识符。

我问是因为文档状态:

同样重要的是要知道标识符应该被视为 对于为其生成并将被重用的用户永久 跨请求和应用程序会话。

当我忽略它并使标识符变为非永久性时,是否有任何不需要的副作用?

【问题讨论】:

    标签: session authentication nancy


    【解决方案1】:

    是和不是。

    如果您在每次用户登录时更改它,那么您实际上是在注销用户。

    您可以创建一个会话/身份表,该表允许同一用户多次登录(假设浏览器不同),这将允许您管理超时/延长每次身份验证的超时。

    这不需要更改 Forms Auth,您只需更改 IUserMapper 以针对您的 Session / Identity 表而不是直接对用户进行身份验证。

    (希望一切都有意义)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-27
      • 2015-12-24
      • 1970-01-01
      • 2019-05-17
      • 2017-04-13
      • 1970-01-01
      • 2018-01-08
      • 2022-10-13
      相关资源
      最近更新 更多