如何忘记授权凭据

本文关键字:授权 如何忘记 | 更新日期: 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是如何存储这个经过身份验证的用户的。