簡體   English   中英

自定義ASP.Net成員資格和登錄控件

[英]Custom ASP.Net Membership and the Login control

我正在為已經有用戶存儲在現有數據庫表中的Web應用程序創建自定義成員資格提供程序。 我使用了教程中的一些代碼來幫助快速啟動我的提供程序,但是我對如何與實際的登錄過程進行交互有些迷惑。

我的自定義提供程序具有ValidateUser()的重寫方法,此刻我僅在此處返回true。 但是我想創建一個當前用戶對象以存儲在會話范圍內。 該對象將僅存儲有關用戶的一些細節。

我猜另一個選擇是使用ASP.Net配置文件提供程序,但同樣我不清楚在哪里掛入登錄進程來運行一些代碼,這些代碼要么創建此用戶對象,要么為當前用戶填充配置文件信息。

使用“關注點分離”的原理,您的成員資格提供者不應在Session中存儲任何用戶信息。

如John所說,不要讓您的提供者代碼在Session中存儲用戶信息。 相反,您可以使用Login控件( 此處有更多詳細信息),如果一切配置正確,登錄成功,它將使用您的提供程序(在您的情況下,這是因為您返回true ),您可以通過調用提供程序的GetUser方法在OnLoggedIn事件處理程序中獲取用戶,並存儲在Session中返回的MembershipUser。

您的代碼可能類似於以下內容:

protected void LoginCtrl_LoggedIn(object sender, EventArgs e)
{
    var user = Membership.GetUser(LoginCtrl.UserName, true);
    Session["CurrentUser"] = user;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM