如何让 ADAL 在使用缓存的登录凭据将用户登录到应用程序之前检查用户名

How to get ADAL to check username before using cached login credentials to logon user to application

我有一个 ASP.NET MVC 应用程序,它使用 Azure Active Directory 进行身份验证。除了这种情况外,一切都完美无缺。

  1. 启动应用程序并使用 user@domain.com 登录,用户通过身份验证并显示应用程序主页
  2. 关闭浏览器(未实现注销)
  3. 再次启动应用程序并单击以另一个用户身份登录
  4. 输入用户名 abc@domain.com - 该用户是假的,不存在

预期行为:一些错误提示用户不存在或登录失败

应用程序行为:默认登录 user@domain.com,而不检查输入的新用户名。

注意:portal.azure.com 的工作方式相同。

问题:有没有办法改变这种行为,以便在使用缓存的令牌之前验证或验证用户名。

谢谢

这是因为 design.We 不要每次都去 AAD 进行身份验证,用作客户端在初始登录期间收到的令牌/cookie 的缓存凭据足以访问资源。

有两种方法可以达到您的要求

1) 实施注销(可行且最优的方案)

2) 实施 Auth 过滤器并在全局级别应用,因此对于每个请求,它都必须验证用户提供的令牌和用户名。

希望对您有所帮助。