2009-06-01 107 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