ASP.NET Core Identity 是否使用会话进行身份验证?

Nic*_*ney 6 asp.net-mvc asp.net-identity asp.net-core claims-authentication

ASP.NET Core 3.1/5 Identity 是否使用会话进行身份验证?我知道它使用 cookie 在客户端计算机上存储用户信息以供下一个请求,但我不明白的是,只有 cookie 就足够了,还是它还在服务器上为此身份验证 cookie 创建了任何会话?

Zhi*_* Lv 9

默认情况下,Asp.net core Identity是基于cookie的,用户的身份存储在cookie中。您可以检查以下链接来配置 ASP.NET Core Identity。

配置 ASP.NET Core 身份

一般来说,使用cookie就足够了,浏览器会话关闭(关闭浏览器)后,它会清除cookie,如果重新打开网站,我们必须重新登录。

如果要使用会话来存储用户身份,可以设置CookieAuthenticationOptions.SessionStore属性来配置身份验证提供程序选项。

SessionStore 属性是一个可选容器,用于存储跨请求的身份。使用时,仅将会话标识符发送到客户端。这可用于缓解非常大的身份的潜在问题。

关于使用SessionStore的更多详细信息,您可以参考以下文章:

ASP.NET Core 会话身份验证