我正在使用表单例份验证,并且具有基本的登录页面和默认页面。
当我在登录页面上并调用SignOn时,此方法效果很好。但是,当我仍在“登录”页面上时,Membership.GetUser()
返回null。当我重定向到默认页面时,Membership.GetUser()
返回我的用户信息。
有什么办法可以让我仍然在登录页面上时使用此方法返回用户。我在Google各处都读过,其他的也有类似的问题,这些问题只有在您重定向后才能生效。
让我知道您是否需要更多信息。
这是我用来验证是否已设置信息的简单代码段:
bool authenticated = User.Identity.IsAuthenticated;
string username = User.Identity.Name;
MembershipUser user = Membership.GetUser();
我将此代码放在登录页面和默认页面上,都放在后面的代码中,只有默认页面具有值,并显示在执行身份验证过程后对它进行了身份验证。
最佳答案
这可能是因为您在登录页面上允许匿名用户。因此,浏览器不会不必要地向此页面发送任何不必要的信息。