ASP.NET Core 使用Cookie验证身份的示例代码
ASP.NET Core 1.x提供了通过Cookie 中间件将用户主体序列化为一个加密的Cookie,然后在后续请求中验证Cookie并重新创建主体,并将其分配给HttpContext.User属性。如果您要提供自己的登录界面和用户数据库,可以使用作为独立功能的Cookie中间件。ASP.NET Core 2.x的一个主要变化是不再存在Cookie中间件。取而代之的是在Startup.cs文件中的Configure方法中的调用UseAuthentication方法会添加设置HttpContext.User属性的 AuthenticationMiddleware 中间件。添加配置ASP.NET Core 1.x按下列步骤操作:在您的项目中安装Microsoft.AspNetCore.Authentication.CookiesNuGet包。此包包含Cookie中间件。这种持久性应该只能是用户显示同意,在登录时的“记住我”复选框或类似的机制启用。ASP.NET Core 2.x上述代码片段中使用的AuthenticationProperties类,位于Microsoft.AspNetCore.Authentication命名空间中。如果Cookie在浏览器关闭时过期,浏览器会在重新启动后清除它。这将忽略以前通过Cookie设置选项配置的任何滑动过期设置。
用户评论