【问题标题】:MVC Password Format : Hash , Validate the user without keying Username/PasswordMVC 密码格式:哈希,无需键入用户名/密码即可验证用户
【发布时间】:2012-05-30 01:54:55
【问题描述】:

我正在开发一个 MVC C# 模块,它的用户创建密码格式设置为哈希。现在,除了普通登录之外,我还有一个 Facebook 登录模块。如果用户名相同,此 Facebook 登录将与正常登录合并。

我的问题是,当我合并 Facebook 登录时,这两个帐户将共享相同的密码。我可以获取返回用户名和密码的用户,并使用 Membership.ValidateUser 进行验证。但由于密码是散列的,我无法为 Facebook 登录验证它。我需要先解密它,还是有其他想法?

【问题讨论】:

  • 您不能“解密”散列密码。
  • 你会加密密码而不是散列它,这样你就可以解密回来。
  • 您实际上是否在存储 Facebook 登录详细信息?我以为你只获得了登录令牌来使用?
  • 不,我没有存储 facebook 登录详细信息。如果 Facebook 登录与普通用户合并,它将与普通用户共享相同的登录信息。
  • 这个怎么样?如何验证密码而不使用 Membership.ValidateUser() 进行散列,因为当我获得它时,它已经是散列格式。

标签: c# facebook model-view-controller hash membership


【解决方案1】:

您实际上根本不需要担心密码。您可以获取与 facebook 帐户关联的用户,然后手动验证该用户

var userName= YourRepository.GetUsernameByFacebookId(returnedFacebookId);
FormsAuthentication.SetAuthCookie(userName);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多