学习ASP.NET Core的身份认证(基于Cookie的身份认证2)

  采用基于Cookie的身份认证,在调用services.AddAuthentication注册服务时,可以通过CookieAuthenticationOptions对象按需设置Cookie属性,常用的包括以下属性(更详细的介绍见参考文献2,微软的帮助文档中的介绍看的头大):

序号 属性 说明
1 Cookie 保存Cookie设置,主要属性包括Name(Cookie名称)、Path(Cookie 路径)、 Expiration(Cookie 的生命周期,也即过期时间)、MaxAge(Cookie 的最大期限,Cookie使用Expiration或MaxAge都可以用来限制Cookie的生效时间,如果同时使用,则以MaxAge为准)、HttpOnly(客户端脚本是否无法访问 Cookie,默认为false)、IsEssential(指示此 Cookie 是否对应用程序正常运行至关重要。 如果为 true,则可能会绕过同意策略检查。)
2 LoginPath 设置登录页路径,当访问未授权路径时默认跳转到LoginPath路径
3 LogoutPath 设置登出路径
4 AccessDeniedPath 访问被拒绝时的默认跳转路径
5 ExpireTimeSpan 为存储在 Cookie 中的身份验证票证的有效时间段,其与CookieOptions的 Expires属性(过期时间)是分开的,后者指定浏览器将保留 Cookie 的时间
6 SlidingExpiration 是否顺延过期时间,值为true时,服务端处理请求时如果ExpireTimeSpan已超过一半,则重新签发新的Cookie及过期时间,更详细的说明见参考文献3

  在服务端登录函数中通过用户验证后,调用HttpContext.SignInAsync函数将将用户的身份信息保存在认证Cookie中,以便后续的请求可以验证用户的身份(参考文献4)。该函数可以传入AuthenticationProperties对象设置与身份验证会话相关的属性,常用属性如下(更详细的介绍见参考文献5):

序号 属性 说明
1 IssuedUtc 获取或设置身份验证票证的颁发时间
2 ExpiresUtc 获取或设置身份验证票证的过期时间
3 IsPersistent 获取或设置在多次请求后是否还保留身份验证会话
4 AllowRefresh 获取或设置是否应允许刷新身份验证会话

参考文献:

1https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.aspnetcore.http.cookiebuilder?view=aspnetcore-9.0

2https://biyusr.blog.csdn.net/article/details/125925446

3https://q.cnblogs.com/q/1054

4https://cloud.tencent.com/developer/information/HttpContext.SignInAsync()登录的目的是什么?

5https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.aspnetcore.authentication.authenticationproperties?view=aspnetcore-9.0

相关推荐
DsirNg8 天前
凭证不是登录态:从攻击面重做浏览器认证设计
oauth·xss·csrf·token·cookie·认证授权·web 安全
竹枝溪19 天前
Tomcat与Servlet全套小白教程
java·servlet·tomcat·cookie·filter·session·listener
DsirNg23 天前
登录态失控时,前端如何止损:从令牌轮换到会话退出的完整设计
xss·csrf·cookie·会话管理·前端安全·登录态·刷新令牌
CappuccinoRose1 个月前
前端存储体系学习总结文档
前端·客户端·cookie·ssr·服务端·localstorage·sessionstorage
ShineWinsu1 个月前
对于Linux:HTTP中cookie、session的解析
linux·网络·c++·网络协议·http·cookie·session
花生了什么事o2 个月前
Session 和 Cookie 的区别、原理与应用场景
cookie·session
深蓝电商API3 个月前
浏览器自动化中的Cookie和Session管理最佳实践
数据采集·cookie·session
学代码的真由酱3 个月前
【自用】接口测试
接口测试·postman·测试·cookie·token鉴权
ChaITSimpleLove3 个月前
深入解析 ASP.NET Core Options 模式:IOptions、IOptionsSnapshot 与 IOptionsMonitor 实战指南
asp.net core·snapshot·依赖注入di·options模式·ioptions·ioptionsmonitor·配置热更新
医疗信息化王工3 个月前
医院自律端系统——预警处置模块全栈实战(ASP.NET Core + Vue3 + Quartz 定时调度)
mysql·postgresql·vue·asp.net core·quartz