C# FormsAuthentication c类#
如果我调用FormsAuthentication.SetAuthCookie(“john”,true),则用户名是否存储在cookie中C# FormsAuthentication c类#,c#,asp.net,forms-authentication,C#,Asp.net,Forms Authentication,如果我调用FormsAuthentication.SetAuthCookie(“john”,true),则用户名是否存储在cookie中 我想知道的是,如果用户会话超时,然后用户再次访问该站点,Request.IsAuthenticated设置为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" />