如何让 ADAL 在使用缓存的登录凭据将用户登录到应用程序之前检查用户名
How to get ADAL to check username before using cached login credentials to logon user to application
我有一个 ASP.NET MVC 应用程序,它使用 Azure Active Directory 进行身份验证。除了这种情况外,一切都完美无缺。
- 启动应用程序并使用 user@domain.com 登录,用户通过身份验证并显示应用程序主页
- 关闭浏览器(未实现注销)
- 再次启动应用程序并单击以另一个用户身份登录
- 输入用户名 abc@domain.com - 该用户是假的,不存在
预期行为:一些错误提示用户不存在或登录失败
应用程序行为:默认登录 user@domain.com,而不检查输入的新用户名。
注意:portal.azure.com 的工作方式相同。
问题:有没有办法改变这种行为,以便在使用缓存的令牌之前验证或验证用户名。
谢谢
这是因为 design.We 不要每次都去 AAD 进行身份验证,用作客户端在初始登录期间收到的令牌/cookie 的缓存凭据足以访问资源。
有两种方法可以达到您的要求
1) 实施注销(可行且最优的方案)
2) 实施 Auth 过滤器并在全局级别应用,因此对于每个请求,它都必须验证用户提供的令牌和用户名。
希望对您有所帮助。
我有一个 ASP.NET MVC 应用程序,它使用 Azure Active Directory 进行身份验证。除了这种情况外,一切都完美无缺。
- 启动应用程序并使用 user@domain.com 登录,用户通过身份验证并显示应用程序主页
- 关闭浏览器(未实现注销)
- 再次启动应用程序并单击以另一个用户身份登录
- 输入用户名 abc@domain.com - 该用户是假的,不存在
预期行为:一些错误提示用户不存在或登录失败
应用程序行为:默认登录 user@domain.com,而不检查输入的新用户名。
注意:portal.azure.com 的工作方式相同。
问题:有没有办法改变这种行为,以便在使用缓存的令牌之前验证或验证用户名。
谢谢
这是因为 design.We 不要每次都去 AAD 进行身份验证,用作客户端在初始登录期间收到的令牌/cookie 的缓存凭据足以访问资源。
有两种方法可以达到您的要求
1) 实施注销(可行且最优的方案)
2) 实施 Auth 过滤器并在全局级别应用,因此对于每个请求,它都必须验证用户提供的令牌和用户名。
希望对您有所帮助。