2016-08-19 104 views
0

我繼承了沒有其開發環境的現有項目。我有UAT代碼和生產數據庫的備份。我可以通過Visual Studio在本地運行該站點,但遇到了嘗試在AWS(單一服務器,無負載均衡器)上設置新的獨立DEV服務器的身份驗證問題。 doco表示Prod服務器是具有負載平衡器的雙服務器設置。缺少針對安全令牌發佈者的配置錯誤

前端網站頁面顯示,儘管某些搜索無法正常工作。在嘗試登錄後端頁面時,Chrome會返回「xxx頁面無法正常運行,xxx重定向了太多次」。使用開發人員工具,我可以看到頁面在SWT?realm = ...和sitefinity之間來回重定向wrap_defalted = true & wrap_access_token ...在第二個重定向響應標題上有「X-Authentication-Error:Missing configuration for安全令牌「https://xxx/Sitefinity/Authenticate/SWT」「

我在web.config行嘗試不同的值,發行人:

<federatedAuthentication> 
     <wsFederation passiveRedirectEnabled="true" issuer="http://localhost" realm="http://localhost" requireHttps="true"/> 
     <cookieHandler requireSsl="false"/> 
</federatedAuthentication> 

,但實際上事情變得更糟,所以我已經恢復。

我檢查了http://docs.sitefinity.com/administration-switch-to-claims-based-authentication中提到的所有設置,它們似乎設置正確。我真的不知道還有什麼可以檢查才能使其工作。

我發現http://docs.sitefinity.com/administration-configure-security,但它似乎沒有設置這些設置(我無法訪問Prod服務器,因此無法確認它是否實際設置了負載平衡)。我目前正在使用30天的試用許可證,因此我不確定這是否會導致問題。官方許可正在由客戶轉移。與官方許可證相關的域名將與我的新服務器當前正在運行的域不同。

我也在版本9的Sitefinity安裝上運行版本8代碼。我想在我嘗試升級代碼之前使它工作。我認爲當我嘗試升級我的本地版本時,還有一個程序集負載顯示不匹配。

回答

1

找到解決方案:不要搞亂SecurityConfig.config文件。

<securityTokenIssuers> 
    <add key="B886AA7BFB5515BA63F577A44BBEB5C7AE674035514D128BC397346B11F4C97A" encoding="Hexadecimal" membershipProvider="Default" realm="http://localhost" /> 
</securityTokenIssuers> 
<relyingParties> 
    <add key="B886AA7BFB5515BA63F577A44BBEB5C7AE674035514D128BC397346B11F4C97A" encoding="Hexadecimal" realm="http://localhost" /> 
</relyingParties> 

即使它在服務器上運行,上述行仍應指向本地主機。看起來這些只需要編輯,如果你有一個完全獨立的STS的多服務器設置。

我最初改變它以匹配新的域名,但經過一些圍繞添加本地主機和HTTP變化的實驗後,它似乎最適合本地主機。

即使當我更改上面的web.config條目以使用新域作爲頒發者而不是本地主機,而SecureConfig.config只將新域指定爲領域時,它似乎也不起作用。我想認證必須專門嘗試打本地主機。