如何忘记授权凭据
本文关键字:授权 如何忘记 | 更新日期: 2023-09-27 18:20:57
当您请求对某个MVC操作进行授权时,如下所示:
[Authorize(Roles = @"Domain'Groupname")]
public string SomeAction()
{
return "ok";
}
如果用户不是会员,则会要求用户提供有效凭据。这是我想要保留的功能。
然而。。当这些给定凭据有效时,这些凭据将用于整个应用程序,直到这些给定凭据的用户更改其密码为止!
如何强制应用程序或浏览器忘记给定的凭据?有什么方法可以应用"这不是我…"按钮吗?
令我惊讶的是,即使在IIS应用程序重新启动后,并且在客户端的浏览器完全重置为出厂默认值后,应用程序也会记住这些凭据(?!)
我能想到的唯一解决方案是自定义授权:
[Authorize(Roles=@"DOMAIN'APP-ResetToUser")]
public string ResetUser()
{
return "Active user: " + User.Identity.Name;
}
这样,您就可以将有此问题的用户添加到此组,并允许他们使用正确的凭据进行一次授权。
这很管用。。但我仍然想知道浏览器或IIS是如何存储这个经过身份验证的用户的。