Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 当用户通过表单身份验证自动登录时,如何设置会话变量?_Asp.net - Fatal编程技术网

Asp.net 当用户通过表单身份验证自动登录时,如何设置会话变量?

Asp.net 当用户通过表单身份验证自动登录时,如何设置会话变量?,asp.net,Asp.net,我使用表单身份验证(以及内置的登录控件),允许用户在登录时单击“记住我”复选框。当他们返回站点时,他们会按预期自动登录。当这种情况发生时,我能捕捉到什么事件吗?我一直在研究FormsAuthenticationModule.Authenticate事件,但我不确定这是正确的方法。首先,研究使用2.0+中提供的登录控件(我记得)。您可以在该控件上处理一个Authenticate事件,您可以在该事件中设置会话变量 此外,我们假设在验证用户之后,用户被带到某个“主页”。因此,您可以在“主页”的加载事件

我使用表单身份验证(以及内置的登录控件),允许用户在登录时单击“记住我”复选框。当他们返回站点时,他们会按预期自动登录。当这种情况发生时,我能捕捉到什么事件吗?我一直在研究FormsAuthenticationModule.Authenticate事件,但我不确定这是正确的方法。

首先,研究使用2.0+中提供的登录控件(我记得)。您可以在该控件上处理一个Authenticate事件,您可以在该事件中设置会话变量


此外,我们假设在验证用户之后,用户被带到某个“主页”。因此,您可以在“主页”的加载事件处理程序中设置会话变量。

您可以查看global.asax中的session\u Start,查看是否可以在该点检测用户是否经过身份验证,如果是,则从那里设置变量。您可能需要从HttpContext.Current.session引用会话(与User类似)。您可能还希望查看为OnAuthenticate注册事件处理程序的HttpHandler,并在其中检查/设置变量。

查看Global.asax中的应用程序\u AuthenticateRequest事件

此事件在用户通过身份验证(通过手动登录或使用cookie)后激发。从那里,你可以做你需要的事情。您可以查询Page.User对象以获取有关登录用户的信息


谢谢。我正在使用2.0登录控件。但是,它仅在需要提示用户时使用。如果存储了他们的凭据并对其进行了自动身份验证,则不会发生登录控制事件。