【问题标题】:ASP.Net - Generating Secure TokensASP.Net - 生成安全令牌
【发布时间】:2014-03-30 14:22:54
【问题描述】:

我正在为我的网站开发一个身份验证库,并且我想使用基于令牌的身份验证系统,但我不知道如何生成安全会话令牌以便我可以识别用户。有没有人有任何资源可以为我指明正确的方向?

【问题讨论】:

    标签: token http-token-authentication


    【解决方案1】:

    一个随机的身份验证令牌就足够了,具体取决于您拥有的架构类型。

    或者你可以使用GUIDs,...有很多可能性,这里是一个

    当用户进行身份验证时,生成一个随机令牌,将其添加到用户系统上的 cookie 和数据库中。当用户回来时,在数据库中搜索唯一的随机令牌,以便您可以在随机令牌和用户之间建立链接。多田!

    【讨论】:

    • 您指导生成令牌的方式与 asp.net 中的表单身份验证非常相似。如果将令牌添加到cookie中并发送到用户pc,那么它将容易受到XSS攻击。
    • @Mou 有可能添加 HTTPOnly Cookie。并使用 https/SSL... 无论如何,99% 的网站,甚至是大型网站,都会在 cookie 中使用随机令牌进行会话。甚至 Facebook 也这样做。因此,这种生成安全令牌的方法不会比其他任何方法更容易受到 XSS 攻击。
    • 我相信每个人都会随机生成令牌。 HTTPOnly Cookie 有点安全,因为人们无法通过 js 读取它,但我猜它不是防弹的。
    • 请告诉我表单身份验证和基于令牌的身份验证之间的主要区别是什么。如果是表单身份验证,则在服务器端生成令牌并保存在客户端 pc 中,在令牌情况下,然后将令牌发送到客户端。如果人们喜欢持久化令牌,那么他们必须将其存储在 cookie 中。那么表单身份验证和基于令牌的身份验证之间的主要区别在哪里。
    • @Mou 我不确定我是否得到您的问题(顺便说一句,新问题不应该在 cmets 中提出,而是在单独的线程中提出)但是您从登录表单身份验证开始 &密码,在验证后,为您提供所有后续请求的随机身份验证令牌。如果您需要更多详细信息,请提出您自己的单独问题。
    猜你喜欢
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 2014-09-12
    • 2015-11-16
    • 1970-01-01
    • 2012-01-10
    • 2014-04-26
    相关资源
    最近更新 更多