一些周圍挖掘後:
This example在idsrv顯示如何運行在單獨的Web應用程序,以及如何使用WS-送入委派到Web應用程序authn窗口。這也在this issue中解釋。
This blog post by scott brady展示瞭如何ADFS配置爲允許idsrv依賴方和如何委派與WS-美聯儲ADFS允許在ADFS
用戶名/密碼登錄如果使用這兩個WS-美聯儲代表團,使確保爲認證類型使用不同的值。
你可以做的是強制用戶首先嚐試winauth,方法是將acr_values和idp添加到第一次重定向並將idp設置爲winauth外部idp的名稱。請參閱the idsrv docs here
如果失敗,可以使用this technique來檢測從外部winauth提供程序登錄失敗並自動重定向到adfs提供程序。
如果由於某種原因您確實到達了登錄頁面,您可以disable local login(不顯示用戶名/密碼輸入字段),並且默認情況下外部提供者(winauth和adfs)會顯示爲按鈕。
編輯:
是的,你會增加旁邊idsrv額外的Web應用程序,這避免了與Windows集成身份驗證運行idsrv
與winauth用戶,流量爲
client app -> IdSrv (login page) -> WinAuthHost -> IdSrv (auth endpoint)-> client app
實際上,如果成功,用戶很可能只會看到客戶端應用和WinauthHost中的一個屏幕,並且從來沒有看到Idsrv
如果用戶沒有登錄到Windows(或不正確的域)時,那麼流程會是這樣
client app -> IdSrv (login page) -> WinAuthHost -> IdSrv login (auth endpoint, fails)
-> ADFS -> IdSrv login (auth endpoint) -> client app
我不清楚你的意思是「他可以使用當前登錄」 – stombeur
@stombeur任何用戶將通過AD登錄在Windows中登錄,我想使用該登錄。 – Albert
好的,我清理了我的答案一點,以使其更清楚 – stombeur