在使用者利用新的瀏覽視窗,第一次登入到已安裝ADFS Web Agent的SPS2003 Web Front時,必須輸入完整的URL,如https://adfsweb/default.aspx,瀏覽器才能夠導向至SPS2003的首頁。
若只輸入網站位置,如https://adfsweb/,瀏覽器就會顯示系統回應之訊息"Cannot complete this action. Please try again.";
而此時在瀏覽器的網址列上,所顯示之網址為https://adfsweb/_vti_bin/owsser.dll,而不是https://adfsweb/default.aspx,或是https://adfsweb/。
使用者需要在瀏覽器上重新輸入網站位置,方能重新顯示SPS2003的頁面。顯示之畫面如下:
【原因】
ADFS Web Agent中的ADFS ISAPI Filter之執行順位低於stsfltr Filter。
【處理方式】
將ADFS ISAPI Filter之執行順位提高。
【說明】
我是利用微軟所提供的【ADFS Step by Step Guide】進行ADFS與SPS2003之架構建置。不過當依據Guide步驟完成後,利用用戶端瀏覽器登入SPS2003 中的ADFS Web Agent Server時,就出現了上述的狀況。
在SPS2003安裝之後,在SPS2003 Web Server中IIS 的ISAPI Filter設定中,可以看到有一個stsfltr Filter。這個Filter是負責將外部之所有Request傳送到SPS2003網站上。如下圖所示:
但在已安裝ADFS Web Agent之SPS2003 Web Server上面,會發現除了stsfltr Filter之外,還會有一個ADFS Filter。如下圖所示: 在登入SPS2003之前,系統會先經過ADFS進行身份識別的程序,以判斷使用者需利用那一個AD進行登入。我猜想,在驗證通過之後,ADFS Federation Server會再與ADFS Web Agent進行訊息傳遞。此時若ADFS Web Agent中的ISAPI Filter優先處理的是stsfltr這個Filter時,IIS將會把此訊息交由SPS2003處理,而SPS2003處理此訊息發生錯誤,才會出現問題中所顯示之"Cannot complete this action.Please try again."這樣的錯誤訊息。
當我將ADFS Filter之順位調整在stsfltr上面,並套用設定之後,於用戶端重新輸入ADFS Web Agent之URL,瀏覽器就自動導向到SPS2003的首頁了。
【附註】
上述問題的原因及處理方式是由微軟提供,而我有跟微軟反應這樣的設定應該也需要註記在ADFS Step by Step Guide之中,微軟方面已同意將此意見反應給他們的Product Team,將此內容增加到文件上。
【參考資訊】
ADFS Step by Step Guide的下載位置:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=062f7382-a82f-4428-9bbd-a103b9f27654
沒有留言:
張貼留言