我正在使用表单例份验证,并且具有基本的登录页面和默认页面。

当我在登录页面上并调用SignOn时,此方法效果很好。但是,当我仍在“登录”页面上时,Membership.GetUser()返回null。当我重定向到默认页面时,Membership.GetUser()返回我的用户信息。

有什么办法可以让我仍然在登录页面上时使用此方法返回用户。我在Google各处都读过,其他的也有类似的问题,这些问题只有在您重定向后才能生效。

让我知道您是否需要更多信息。

这是我用来验证是否已设置信息的简单代码段:

bool authenticated = User.Identity.IsAuthenticated;
            string username = User.Identity.Name;

            MembershipUser user = Membership.GetUser();

我将此代码放在登录页面和默认页面上,都放在后面的代码中,只有默认页面具有值,并显示在执行身份验证过程后对它进行了身份验证。

最佳答案

这可能是因为您在登录页面上允许匿名用户。因此,浏览器不会不必要地向此页面发送任何不必要的信息。

10-04 21:47