2015-02-09 22 views
2

我正在構建一個AngularJS應用程序,它將與在不同主機上運行的RESTful服務進行交互。由於請求會跨越原點,因此CORS正在進入畫面。由於請求指定JSON爲預期的內容類型,因此請求由瀏覽器觸發,CORS預檢。直截了當。如何處理SiteMinder受保護環境中的CORS預檢請求?

根據W3規範,CORS預檢請求應該是排除用戶憑證。 RESTful Web服務應用程序由SiteMinder保護,SiteMinder配置爲根據URL強制執行身份驗證的。 Web服務僅依靠SiteMinder進行身份驗證和處理授權。這就是爲什麼SiteMinder不能被刪除。因此,CORS預檢請求會返回HTTP 401需要授權。它阻止瀏覽器向前移動實際的請求。

有關如何在SiteMinder受保護環境中啓用CORS預檢請求的任何想法?提前感謝!

回答

1

您可以嘗試通過設置autoauthorizeoptions忽略OPTIONS方法=是在ACO參數代理

++++++++++++++++++++++++ ++++ 允許自動訪問使用OPTIONS方法的資源SiteMinder Web代理仍會質詢嘗試訪問使用OPTIONS方法的資源的經過身份驗證的用戶。使用OPTIONS方法的資源的一些示例包括(但不一定限於)以下內容:

Microsoft®Word文檔 Microsoft®Excel®電子表格文檔發生此問題是因爲與資源關聯的應用程序使用OPTIONS方法到Web服務器。由於此請求不包含SiteMinder cookie,因此Web代理髮出挑戰。

爲了防止用戶受到質疑這些資源

設置以下參數爲yes值: autoauthorizeoptions 自動授權,對那些使用HTTP OPTIONS方法資源的任何請求。

如果將此參數的值設置爲yes,那麼也將PersistentCookies參數的值設置爲no。

限制:是的,沒有

設置PersistentCookies參數沒有任何的價值。

++++++++++++++++++++++++

相關問題