我使用Facebook允许用户登录网站。管理登录的页面将获取用户的facebook id,然后在ASP.NET成员资格表中查找具有匹配ID的预先存在的用户。
不匹配:创建并登录新用户(没问题)。
匹配:我想登录用户。问题是我有哈希密码,我无法使用MembershipService.ValidateUser(logOn.UserName, logOn.Password)
来登录用户。
如果我只使用FormsAuthentication.SetAuthCookie
,则用户不会显示为已登录。
我可以在web配置中将enablePasswordRetrieval设置为true,然后只获取实际密码,但我不想这样做。我希望这是安全的。
有没有人知道使用用户名将用户登录到ASP.NET成员资格的方法?我已经查看了MembershipProvider
类的替代方法,但我找不到。
谢谢,
奥利弗
答案 0 :(得分:2)
您可以尝试设置Cookie的FormsAuthentication.RedirectFromLoginPage
(http://msdn.microsoft.com/en-us/library/ka5ffkce.aspx)(我相信,尽管您可能需要手动设置Cookie),然后重定向到指定页面以重定向(指定)在auth设置的配置文件中)。基本上,在设置cookie之后,您必须在设置之后进行重定向或回发,因为它看起来不像应用程序已启用您的身份验证。
HTH。
答案 1 :(得分:0)
我认为您可以尝试创建自己的包含自定义身份验证票证的身份验证Cookie。
请参阅此msdn文章,了解如何创建自己的身份验证票证和cookie