0

我有一个使用 Asp.Net Membership 登录的 Asp.Net Web 应用程序。现在我正在构建一个桌面应用程序,我希望用户使用他们的网站帐户安全地登录桌面应用程序。

我从网络上的 WCF 服务开始,用户名、密码用 SHA256 散列,但现在我不知道如何检查密码是否正确。Asp.Net Membership 也使用盐来存储密码。我怎样才能做到这一点?

4

1 回答 1

1

我将在 ASP.NET webapp 中创建一个 WCF 服务,它接受明文用户名和密码,当然还使用传输级加密。在此服务中,我将调用 MembershipProvider 的 ValidateUser() 方法。

或者您可以实现更安全的身份验证机制,但在这种情况下,您应该使用自己的 MembershipProvider,因为默认提供者只接受明文密码,并且无论它做什么都是秘密的。

诀窍在于,如果您将 WCF 服务放在您的 webapp 中,那么它的行为将与您的浏览器客户端一样。如果您对浏览器客户端使用 HTTPS,那么对 WCF 使用相同的 HTTPS 通道,就可以了。

于 2013-11-11T14:44:31.050 回答