2011-04-05 64 views
1

我得到user.identity.name在通過成員身份驗證後使用表單身份驗證的Web應用程序中爲空。User.identity .name爲空

我重定向到其他窗體,但如何跟蹤哪個用戶登錄,我沒有使用會話。有另一種方法嗎?

MembershipUser oCurrentUser = Membership.GetUser(); 
Response.Write(oCurrentUser.UserName); 

在此也它給我nullreference exception,雖然它驗證正確

bCheckUser = Membership.ValidateUser(txtUserName.Text, txtPassword.Text); 

這是返回true。

+0

你可以分享更多的代碼從你的登錄代碼 - 你在哪裏進行身份驗證和設置cookie?你也試圖讓User.Identity在同一頁面或不同?甚至在web.config中的表單身份驗證部分中的一些設置可能會導致此問題。 – gbs 2011-04-05 20:24:43

回答

1

看一看FormsAuthentication.SetAuthCookie()

一旦Membership.ValidateUser()是真的,你應該設置authentication ticket(使用FormsAuthentication.SetAuthCookie),然後你就可以得到任何其他頁面上的User.Identity對象。

+0

此cookie在驗證用戶以及如何以其他形式使用後設置,您可以提供任何參考鏈接.. – deepti 2011-04-05 19:07:08

+0

ASP.NET中的表單身份驗證:http://msdn.microsoft.com/zh-cn/library/ff647070的.aspx – 2011-04-05 19:20:19

相關問題