【问题标题】:How to deal with claims which are expired如何处理过期的索赔
【发布时间】:2014-03-25 10:35:06
【问题描述】:

使用基于声明的授权的 ASPNET 身份构建 ASP.NET MVC 应用程序,想知道声明过期时会发生什么。

例如在我的声明中,我将一个人的声明存储为 claimtype ="Capability", claimvalue = "driver"

如果此人的驾驶执照已过期或被吊销,则此人不应拥有“司机”的要求。

在我的系统中,通常不会删除任何内容。所以我想将此声明标记为 InActive(Boolean)。但是,提供的表 ASPNET Identity 没有此列。那么在这种情况下我应该怎么做呢?

谢谢。

【问题讨论】:

  • 无法准确了解您是如何使用“索赔”的。你能分享一些代码吗?
  • 抱歉,我正在调查和设计此功能的阶段。我只是想知道在 ASPNETClaims 表中,是否应该在声明过期后删除它,或者我可以停用它。

标签: asp.net asp.net-mvc architecture asp.net-identity claims-based-identity


【解决方案1】:

cookie 中发出的声明是登录时声明的快照。如果它们发生变化,那么您需要在对应用程序的每个请求中检测到这一点并发出一个新的 cookie。 cookie 身份验证中间件提供程序上有一个名为 OnValidateIdentity 的事件,您可以在其中执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    • 2021-10-10
    • 2014-07-31
    • 2017-05-13
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多