如何忘记授权凭证?

时间:2014-09-08 08:37:45

标签: c# asp.net-mvc

当你要求授权某个MVC行动时:

    [Authorize(Roles = @"Domain\Groupname")]
    public string SomeAction()
    {
        return "ok";
    }

如果用户不是会员,则会要求用户提供有效凭据。这是我想要保留的强大功能。

但是......当这些给定的凭据有效时,这些凭据将用于整个应用程序,直到这些给定凭据的用户更改其密码为止!

如何强制应用程序或浏览器忘记给定的凭据?是否有一些方法可以应用'这不是我...'按钮?

令我惊讶的是,即使在重新启动IIS应用程序并将客户端浏览器完全重置为出厂默认设置(?!)之后,应用程序仍将记住这些凭据

1 个答案:

答案 0 :(得分:0)

我能提出的唯一解决方案是自定义授权:

[Authorize(Roles=@"DOMAIN\APP-ResetToUser")]
public string ResetUser()
{
    return "Active user: " + User.Identity.Name;
}

通过这种方式,您可以将有此问题的用户添加到此论坛,并让他们使用正确的凭据授权一次。

这有效..但我仍然想知道浏览器或IIS如何存储此经过身份验证的用户。