2009-06-01 85 views
1

我打算在ASP.NET 3.5 Web應用程序中使用來自ASP.NET 2.0的membership.authentication/authorization API。然而,當我實現對登錄組件的方法的loggedIn如下:ASP.NET登錄控件

protected void Login1_LoggedIn(object sender, EventArgs e) 
    { 
     Label1.Text = User.Identity.Name; 
    } 

的名稱是作爲一個空值...的用戶名/密碼是正確的,如果使用默認行爲的登錄控制工作正常,但似乎身份沒有正確初始化。關於如何使用關聯值獲取當前User對象的任何想法?

感謝

+0

什麼是你'網絡的節.config'看起來像? – devstuff 2009-06-01 07:51:54

+0

<籍defaultProvider = 「MyMembershipProvider」> <添加名稱= 「MyMembershipProvider」 的connectionStringName = 「myConnectionString」 的applicationName = 「/」 enablePasswordRetrieval = 「假」 enablePasswordReset設置= 「假」 requiresUniqueEmail = 「假」 了passwordFormat = 「散列」 型=「System.Web.Security.SqlMembershipProvider」requiresQuestionAndAnswer =「false」/> lmsasu 2009-06-01 08:00:48

回答

1

您可能需要檢查User.IsAuthenticated是真正的第一

+0

這是錯誤的;我發現它與loginin evednt引發的違反直覺 - 因此用戶/密碼被系統識別... – lmsasu 2009-06-01 07:36:19

+0

這應該表明登錄名和密碼不正確。 – JoshJordan 2009-06-01 15:57:12

1

您可以使用Membership.GetUser方法來完成同樣的事情:

Label1.Text = Membership.GetUser().UserName 
+0

Membership.GetUser()返回null。 – lmsasu 2009-06-01 07:38:42