ASP.NET Core 3.1/5 Identity 是否使用会话进行身份验证?我知道它使用 cookie 将用户信息存储在客户端计算机上以供下一个请求,但我不明白的是,只有 cookie 就足够了,还是它还在服务器上为这个身份验证 cookie 创建了任何会话?
问问题
1880 次
2 回答
3
默认情况下,Asp.net 核心身份是基于 cookie 的,用户的身份存储在 cookie 中。您可以查看以下链接来配置 ASP.NET Core Identity。
一般使用cookie就够了,在浏览器会话关闭(关闭浏览器)后,会清除cookie,如果重新打开网站,我们必须重新登录。
如果要使用 session 来存储用户身份,可以设置CookieAuthenticationOptions.SessionStore属性来配置身份验证提供程序选项。
SessionStore 属性是一个可选容器,用于跨请求存储身份。使用时,只会向客户端发送会话标识符。这可用于缓解具有非常大身份的潜在问题。
更多关于使用SessionStore的详细信息,可以参考以下文章:
于 2020-12-21T09:25:02.650 回答
0
在 Identity 框架中,您有一个名为 dbo.AspNetUserTokens 的额外表,其中存储了用户令牌。
这样就可以验证浏览器在请求期间发送的令牌。
还有一种方法实际上不需要服务器上的令牌。为此,请查看:https ://jwt.io/
于 2020-12-18T09:37:11.390 回答