无法通过自定义流使用IIS Windows身份验证

时间:2019-12-05 20:13:04

标签: asp.net iis identityserver3

背景

我们的产品使用了客户拥有的专有单点登录(SSO)解决方案,并使用Identity Server来处理授权。我们的产品使用Custom流程并已实现ICustomGrantValidator以便与专有SSO解决方案集成。我们在开发环境中模拟了这种SSO。

我们希望将应用的开发版本部署到面向公众的网站上,以使我们的客户能够演示新功能。理想情况下,我们希望使用Windows授权仅允许选定的人查看该网站。

问题

当在IIS Identity Server上启用Windows Auth时,尝试对其进行处理,但是它没有成功,因为尚未对其进行配置。

我们希望避免重新编写登录信息,以允许Identity Server处理Windows Auth登录并将Active Directory用户映射到我们的SSO用户。这一点特别重要,因为添加此功能将大大改变此任务的范围。

问题

是否可以将Identity Server配置为忽略IIS发出的Windows Auth请求? Currenlty Windows Auth是在IIS级别而不是ASP.NET级别配置的。对于未经身份验证的用户,有一个拒绝规则。

1 个答案:

答案 0 :(得分:0)

经过几次尝试更改登录流程的过程后,我偶然发现了这篇文章:Using a Custom Flow for Authentication #2760

除了将Custom流与ICustomGrantValidator一起使用外,我还向PreAuthenticateAsync添加了替代项,并在那里处理了与SSO的集成。这样可以缓解问题,到目前为止看起来还不错。