gpt4 book ai didi

c# - 什么时候 User.Identity.IsAuthenticated 设置为 true

转载 作者:行者123 更新时间:2023-11-30 14:56:11 25 4
gpt4 key购买 nike

在我的 login.aspx 页面中,我使用了 <asp:Login>控件,如果 User.Identity.IsAuthenticated= true,我需要分配一些值。

here 中所述当用户提交他或她的登录信息时,登录控件首先引发 LoggingIn 事件,然后是 Authenticate 事件,最后是 LoggedIn 事件。

所以我检查了这个值如下:

protected void Login_LoggedIn(object sender, EventArgs e)
{
int x = 0;
if (User.Identity.IsAuthenticated)
x = 5;
}

但是这个值总是false。我的问题如下:

  1. 在什么情况下该值会变为 true?
  2. 我在这里做错了什么?

最佳答案

用户输入他们的凭据并单击“登录”按钮。发生回发。

1.传入请求进入ASP.NET管道。

2.Application_Authenticate 事件触发。此时,ASP.NET 运行时并不知道用户是谁,所以 User.Identity.IsAuthenticated = false

3.登录页面的生命周期存在,

4.Login 控件的 Authenticate 事件被触发并创建一个表单例份验证票证,因为您将 e.Authenticated 设置为 true。

5.Login 控件的 LoggedIn 事件触发。此时,我们仍在处理相同的请求,因此 User.Identity.IsAuthenticated 仍然是 false!

更多信息,请阅读此链接: http://forums.asp.net/t/1177741.aspx?User+Identity+IsAuthenticated+remains+false+why+

关于c# - 什么时候 User.Identity.IsAuthenticated 设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23478784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com