【问题标题】:Authenticate user after redirect重定向后验证用户
【发布时间】:2011-11-08 08:24:23
【问题描述】:

我有两个独立的服务器(s1 和 s2),运行着两个独立的 Web 应用程序。用户在 s1 上通过身份验证,并通过单击链接被重定向到 s2。是否可以在不让用户再次输入他/她的凭据的情况下在 s2 上对用户进行身份验证?

我的第一个想法是使用两个服务器都知道的密钥加密密码,然后将加密字符串与请求一起传递。够了吗?有没有更聪明的方法来做这件事?

  _________                             __________
  |   s1  |  GET (with encrypted pw)?   |   s2   |
  |       |  ----------------------->   |        |
  |_______|                             |________|
Authenticated                   Need to be authenticated

谢谢。

【问题讨论】:

  • 那很好。您可以通过在 s2 中创建类似接口的 Web 服务来使其具有可重用性。
  • 如果你知道密码(假设它是一个md5哈希),是否可以获得密钥?
  • md5 是相当弱的散列算法。它可以使用蛮力破解。改用 SHA256/SHA512。还要确保在密码中附加一个密钥,例如“MyPassword”+“ASuperSecretKey”,这样您就会受到保护

标签: c# asp.net authentication encryption


【解决方案1】:

是的,您可以在查询字符串中传递凭据或使用跨域 cookie。

http://www.15seconds.com/issue/971108.htm

http://anantgarg.com/2010/02/18/cross-domain-cookies-in-safari/

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多