使用具有基于声明的授权的ASPNET身份构建ASP.NET MVC应用程序,想知道声明过期时会发生什么。
e.g。在我的索赔中,我将一个人的索赔存储为claimtype =" Capability",claimvalue =" driver"
如果此人的驾驶执照过期或撤销,则该人不应声称是"驾驶员"。
在我的系统中,通常没有删除任何内容。所以我想将此声明标记为InActive(布尔)。但是,提供的表ASPNET标识没有此列。那么在这种情况下我应该做些什么呢?
感谢。
答案 0 :(得分:2)
Cookie中发布的声明是登录时声明的快照。如果他们发生了变化,那么您需要在应用程序的每个请求中检测到这一点并发出新的cookie。 Cookie身份验证中间件提供程序上有一个名为OnValidateIdentity的事件,您可以执行此操作。