我們在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