2010-12-01 54 views
2

我們試圖將我們從供應商處購買的Web軟件與我們公司的單點登錄認證進行對照。他們的軟件希望在我們將控制轉發到他們的歡迎頁面之前,將CGI環境變量REMOTE_USER在JSP中設置爲用戶ID。 (他們的技術手冊只是以這種方式描述它:「... HTTP響應對象應該使用經過身份驗證的用戶的用戶名填充遠程用戶屬性。」)獲取此值很容易,但我們尚未找到一個簡單的方法谷歌搜索設置它。我們相信這是可能的。感謝您的任何建議。在JSP中設置REMOTE_USER

回答

2

您無法以編程方式自行設置CGI變量REMOTE_USER。這是一個由Web服務器控制的變量,它基於從Authorization HTTP請求標頭中提取的用戶名。客戶端輸入HTTP基本身份驗證憑據後,將由客戶端(webbrowser)設置原始頭文件。

我只是不明白手冊的意思是在HTTP響應中設置屬性。這沒有意義。如果它是基於Java Servlet的API,將其設置爲請求上的自定義屬性會更有意義。

request.setAttribute("REMOTE_USER", "some user ID"); 

轉發(不重定向!)後,它將可用於轉發資源。

但是,這仍然沒有多大意義。我想知道,如果你實際上並不是指「重定向」或者「代理」而不是「轉發」,但是你通常不會使用JSP,因爲這是響應的一部分,因此可能會使其惡化。一個servlet是正確的地方。

+0

對不起,Balus,我在非技術意義上使用「轉發」。我的意思是「傳遞控制權」,但這是技術性的。您的懷疑主義與我們的網絡專家相匹配。我們會在幾天內與供應商召開電話會議,討論此問題。 – DavidC 2010-12-02 01:07:59