我们在ASP.NET
中有一个自定义MembershipProvider
。现在有2种可能情景的用户可以验证:在ASP.NET中使用不带登录控件的自定义MembershipProvider
用户通过登录页面
login.aspx
通过输入自己的用户名/密码。我已使用登录控制并将其与MyMembershipProvider
关联。这工作得很好。身份验证令牌通过查询字符串中的某个URL传递,形成不同的网站。为此,我在
MembershipProvider.Validate(string authenticationToken)
中有一个过载,这实际上验证了用户。在这种情况下,我们不能使用登录控件。现在我怎样才能使用相同的MembershipProvider
来验证用户而不实际使用登录控制?我试图手动调用Validate
,但这不是登录用户。
这里是我使用
if (!string.IsNullOrEmpty(Request.QueryString["authenticationToken"])) {
string ticket = Request.QueryString["authenticationToken"];
MyMembershipProvider provider = Membership.Provider as MyMembershipProvider;
if (provider != null) {
if (provider.ValidateUser(ticket))
// Login Success
else
// Login Fail
}
}
我一直在试图知道如何认证实际工作。谢谢。它帮了我很多 – Krishh 2012-07-17 03:13:12