C# FormsAuthentication c类#

C# FormsAuthentication c类#,c#,asp.net,forms-authentication,C#,Asp.net,Forms Authentication,如果我调用FormsAuthentication.SetAuthCookie(“john”,true),则用户名是否存储在cookie中 我想知道的是,如果用户会话超时,然后用户再次访问该站点,Request.IsAuthenticated设置为true,但是用户名来自哪里?会话超时和身份验证超时是两个独立的事情。您可以使会话超时,而不会使身份验证无效 是,用户名存储在身份验证cookie中。但是,它是加密的。会话超时和身份验证超时是两件不同的事情。您可以使会话超时,而不会使身份验证无效 是,用

如果我调用FormsAuthentication.SetAuthCookie(“john”,true),则用户名是否存储在cookie中


我想知道的是,如果用户会话超时,然后用户再次访问该站点,Request.IsAuthenticated设置为true,但是用户名来自哪里?

会话超时和身份验证超时是两个独立的事情。您可以使会话超时,而不会使身份验证无效


是,用户名存储在身份验证cookie中。但是,它是加密的。

会话超时和身份验证超时是两件不同的事情。您可以使会话超时,而不会使身份验证无效

是,用户名存储在身份验证cookie中。但是,它是加密的。

从本页开始,它将表单身份验证票证设置为Cookie,如果设置为false,则设置为URL

当您将第二个参数设置为true时,cookie是持久的,因此当用户第二次访问(会话超时后)时,您的应用程序将使用auth ticket获取cookie,从而获取用户详细信息(据我所知)

如果您不想这样做,我认为要么将第二个参数设置为false:

FormsAuthentication.SetAuthCookie("john", false);
或者明确地清除票据(等等):

将适用于您。

从本页开始,它将表单身份验证票证设置为Cookie或in URL(如果设置为false)

当您将第二个参数设置为true时,cookie是持久的,因此当用户第二次访问(会话超时后)时,您的应用程序将使用auth ticket获取cookie,从而获取用户详细信息(据我所知)

如果您不想这样做,我认为要么将第二个参数设置为false:

FormsAuthentication.SetAuthCookie("john", false);
或者明确地清除票据(等等):


将适用于您。

您可以使用浏览器检查cookie的内容。例如,我的堆栈溢出cookie如下所示:

F650CE82F53D2C39C8C06B5F26EB34E20FEAC358503E2A6E9FA30B8ECF505F4D9C8

该值是用户名和用户角色的加密goo

只要你愿意,饼干就好。它与会话无关

在示例代码中,您创建了一个持久cookie,因此即使关闭浏览器,它也会一直存在。现在,如果cookie是基于内存的,那么它将一直持续到您关闭浏览器为止,即使过期时间会让它活得更长

以下是默认值:

<forms loginUrl="Login.aspx"
           protection="All"
           timeout="30"
           name=".ASPXAUTH" 
           path="/"
           requireSSL="false"
           slidingExpiration="true"
           defaultUrl="default.aspx"
           cookieless="UseDeviceProfile"
           enableCrossAppRedirects="false" />

您可以使用浏览器检查cookie的内容。例如,我的堆栈溢出cookie如下所示:

F650CE82F53D2C39C8C06B5F26EB34E20FEAC358503E2A6E9FA30B8ECF505F4D9C8

该值是用户名和用户角色的加密goo

只要你愿意,饼干就好。它与会话无关

在示例代码中,您创建了一个持久cookie,因此即使关闭浏览器,它也会一直存在。现在,如果cookie是基于内存的,那么它将一直持续到您关闭浏览器为止,即使过期时间会让它活得更长

以下是默认值:

<forms loginUrl="Login.aspx"
           protection="All"
           timeout="30"
           name=".ASPXAUTH" 
           path="/"
           requireSSL="false"
           slidingExpiration="true"
           defaultUrl="default.aspx"
           cookieless="UseDeviceProfile"
           enableCrossAppRedirects="false" />