2013-05-16 12 views
1

我們試圖通過攔截傳入的請求到 Cube並根據需要使用Spring Security過濾器對它們進行身份驗證,從而爲我們的 ActivePivot tomcat servlet啓用自定義憑證處理層。如果用戶名和密碼爲 有效,我們的系統爲登錄用戶提供 「API密鑰」,並且我們希望某種方式讓Excel在使用HTTP Basic AUthentication登錄後使用此密鑰。Excel/OLAP和HTTP基本授權 - Excel可以記住它已經登錄嗎?

當輸入的登錄憑據導入到Excel「數據連接 嚮導」連接到AP立方體,它通過在立方體上的網址,在那裏我們返回 401(因爲沒有API做一個GET正常 程序密鑰存在於標題中)與 「WWW-Authenticate:Basic Realm = ...」標題,它通過獲得具有我們執行的「Authenticate:Basic ...」標題的相同URL 來響應 用戶名/密碼登錄並獲取API密鑰並實際返回請求的內容。這是 都很好,按預期工作。

現在的問題是,我們可以讓Excel記住它已成功通過 認證,並且只在將來的請求中通過 「Authenticate」標頭中的API密鑰?到目前爲止,我有 嘗試將API密鑰發送回 響應中的「Authenticate」標頭,但Excel似乎沒有注意到這一點。是否有 標準方式將基本身份驗證的「登錄令牌」傳遞給 客戶端?

這樣可以解決2個問題:1)每次請求時我們不必做 登錄; 2)我們沒有得到 數量的請求(GET - > 401 - > GET with Auth - > return)因爲 Excel會知道它已經過身份驗證。

回答

0

根據這篇文章,它看起來像什麼,我想沒有黑客了某種形式的重定向可能是不可能的:

http://www.vc2go.com/2009/11/cookie-based-authentication-does-not-work-with-excel.html

問題:一位安全專家(我假設)在世界上最大的IT公司之一,發現在網上發送cookies請求fr om Excel是一件壞事。例如。當您在Excel中選擇一個URL鏈接時,在IE中產生的請求將會從永不發送任何cookie到。這個請求會在Internet Explorer中很好地打開,但它吸引用戶不得不登錄到我們的系統上訪問他們的每一行。

如果您基於會話或cookie進行身份驗證,則基本上會停滯不前。