2011-03-03 108 views
2

我有一個將數據發佈到Domino Java代理的外部應用程序(非Domino)。如何在Lotus Domino Java代理中獲取HTTP頭(授權)?

我能夠通過使用REQUEST_CONTENT CGI變量讀取數據,一切都很好。

但是,由於我想阻止任何人運行此代理,所以在HTTP標頭中發送用戶名/密碼(基本認證中的「授權」,base64編碼)。現在,我想讀取它,如果提供的用戶名/密碼正確(從包含所有訪問,自定義數據庫,而不是多米諾骨牌目錄的數據庫)解碼並手動驗證。

我的問題是,我如何訪問Java代理中的HTTP Headers,主要是爲了「授權」?

順便說一句,我們所有的Domino服務器都使用「表單身份驗證」(SSO),所以我想用我的自定義解決方案僞造基本身份驗證。

可能嗎? 感謝您的幫助!

+1

所以你實際上並不希望它是安全的呢? – Kerr 2011-03-07 17:10:14

+0

不能承受上述評論,爲什麼要將Domino地址簿的內容複製到可能不安全的應用程序中。我的猜測是你想跟蹤破解你的系統的嘗試,但真的有商業案例嗎? – AndrewB 2012-06-14 19:02:24

回答

2

如果要訪問Java代理中的HTTP標頭,可以在代理內的文檔上下文對象上搜索它們,不確定是否特別獲取「授權」標頭變量(如果它存在,則它是「HTTP_AUTHORIZATION」)。 Domino使用standard CGI Variables,但如果您獲得Document Context document,並遍歷文檔字段,則應該會看到任何其他變量。

(您可能需要強制HTTPS服務器上,以加強與您正在使用的方法的安全性,因爲數據的BASE64轉換不是一個加密安全的方法。)