Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#应用程序中的Asp.Net登录_C#_Asp.net_Wcf_Membership - Fatal编程技术网

c#应用程序中的Asp.Net登录

c#应用程序中的Asp.Net登录,c#,asp.net,wcf,membership,C#,Asp.net,Wcf,Membership,我有一个Asp.Net web应用程序,它使用Asp.Net成员身份登录。 现在我正在构建一个桌面应用程序,我希望用户使用他们的网站帐户安全地登录桌面应用程序 我从web上的WCF服务开始,用户名和密码用SHA256散列,但现在我不知道如何检查密码是否正确。Asp.Net成员资格还使用salt来存储密码。 如何做到这一点?我将在ASP.NET webapp中创建一个WCF服务,它接受明文用户名和密码,当然还使用传输级加密。在这个服务中,我将调用MembershipProvider的Validat

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

我从web上的WCF服务开始,用户名和密码用SHA256散列,但现在我不知道如何检查密码是否正确。Asp.Net成员资格还使用salt来存储密码。
如何做到这一点?

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

或者您可以实现一个更安全的身份验证机制,但是在这种情况下,您应该使用您自己的成员身份提供程序,因为默认提供程序只接受明文密码,并且它对该密码所做的任何操作都是保密的


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

并且您使用ASP.NET成员资格提供程序作为服务的后端?Oauth可能很有用。我想我将使用第一种方法,尽管我对传输级加密知之甚少。非常感谢。如果您使用密码,您应该已经在使用HTTPS协议,该协议提供传输级加密。将WCF设置为使用HTTPS并不是最简单的事情,但是有很多相关指南,应该可以很好地使用。我使用密码,但我不使用HTTPS。那么,您应该:)。但是,当然,你也可以在HTTP上完成这一切,它会工作的。我不能使用,因为主机不能。问题是它需要安全保护,因此使用HTTP时,密码和用户名将是纯文本(不确定)。