我使用FormsAuthentication.RedirectFromLoginPage(userName.Trim(), false);
设置我稍后引用的User.Identity.Name字段。当我执行此行时,User.Identity对象根本不更新;它包含以前设置的任何内容。我在网上看到的所有文档都说这应该用正确的名称更新我的User.Identity对象,但我没有看到这种情况发生。
我已正确设置了网络配置,其中包含以下几行:
<authentication mode="Forms">
<forms name="formsauth" loginUrl="Login.aspx" protection="All" timeout="60">
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我对这个东西比较新,所以任何帮助都表示赞赏。谢谢!
答案 0 :(得分:1)
它将在下一个请求时更新,但不会在其后的下一行上更新。 RedirectFromLoginPage
在客户端浏览器中设置一个身份验证cookie,将在下一个客户端请求时读取,您将看到User.Identity.Name
属性已更新。在同一HTTP请求中更新此属性是没有意义的,因为您已经知道用户在调用方法时已通过身份验证。