asp.net-mvc - ASP 核心身份声明 - 已过期的声明
问题描述
我正在使用带有声明的开箱即用身份功能开发一个非常标准的会员类型 ASP Core MVC 站点。登录后,我为“FirstName”等创建了各种声明......所以我可以在可能需要该值的各种页面上轻松调用它们。
我想创建一个名为“SubscriptionEndDate”的声明,这样我就可以确定是否有人拥有经过身份验证的登录,但他们的订阅已过期。我允许他们使用过期订阅(例如续订页面)前往各个区域,但他们无法执行网站的主要功能。
这一切都很好,直到我们达到续订日期并且他们的订阅被续订(通过另一个后台进程)。由于我确实允许他们将身份验证 cookie 保存在他们的计算机上以绕过登录,因此有时会发生续订但 SubscriptionEndDate 声明已过期。因此,该网站会给他们一个虚假的错误消息,说明他们的帐户已过期。坏的。
我真的只需要在每次会话开始时检查一次数据库(即当他们打开浏览器并再次访问我的网站时,即使他们已经保存了他们的身份验证 cookie)。我确定这已经解决了 - 有什么建议吗?
谢谢!
解决方案
您可以使用 ValidatePrincipal 事件执行此操作,链接中提供了详细信息。
推荐阅读
- java - 为什么使用 ganymed-ssh-2 到服务器的编程 SSH 会导致密钥交换错误?
- javascript - 通过 Redux props 更新父组件
- angularjs - AngularJS ng-repeat 格式的多层 JSON
- python - Numpy 数组自动转换为整数
- arrays - 反转整数数组的某些子序列
- php - 获取带索引的函数之间的字符串
- ibm-cloud - 使用 IBM 云分发打开 Edx
- python - 如何根据数据帧中的 30 分钟间隔时间戳对数据进行聚类?
- c++ - QMutex:销毁锁定的互斥锁
- javascript - 如果用户以角度注销,则关闭弹出窗口