2010-08-16 15 views
0

我有一個tomcat託管的web應用程序,在web應用程序顯示的jsp頁面之一中,我使用iframe來嵌入html文檔。如何將html頁面嵌入到jsp中,同時避免重複登錄,然後將html分別託管到web應用程序?

我需要將html頁面分離到Web應用程序,以便可以在不需要重新啓動原始Web應用程序或編輯訪問Web應用程序的情況下更改它們。

html頁面是安全的並且不能以任何方式直接提供,即僅在此web應用程序中提供或通過對用戶進行身份驗證也很重要。我也想避免讓用戶登錄到網頁應用程序和iframe中的頁面。

我不知道如何處理這個,我有一個Apache服務器,PHP,當然還有我的處置tomcat。

我能想到的兩種方法,但我不知道如何實現兩種:

  1. 我通過從JSP頁面中的身份驗證信息並存儲所有用戶名等其他地方.htaccess文件要檢查(不理想因爲這意味着兩個用戶名/密碼文件的維護)
  2. 我以某種方式強制這些頁面只能在這個iframe中顯示時才能被訪問,即使用web-app作爲身份驗證器,並保持網頁僅爲通過它可以訪問。

目前我只能想到一個相當笨拙的雙重登錄方式,在apache服務器上使用.htaccess,這將需要用戶在查看文檔之前再次輸入用戶名和密碼。

任何人都可以想到更優雅的解決方案嗎?

謝謝!

CJ

回答

2

最簡單的方法是不服務通過公開的Web服務器的HTML頁面,但只是收留他們在公共web內容以外的一些固定的路徑。然後,您可以創建一個servlet,獲取FileInputStream的HTML文件的InputStream,並將其寫入到HttpServletResponse#getOutputStream()通常的Java IO方式獲得的servlet響應的OutputStream

然後,在JSP中,只需將 src改爲指向該servlet,並將所需的HTML文件作爲請求參數或pathinfo。

<iframe src="htmlservlet/file.html" /> 

這樣,您就可以在一個地方控制認證,即JSP/Servlet webapp。

+0

Hi Balus, 感謝你們 - 這是我會遵循的解決方案,我認爲:)我不把它標記爲「回答」,因爲它不直接回答問題本身。 然而,這是一個很好的解決方法 - 所以謝謝你! CJ – 2010-08-18 16:51:28

+0

我沒有看到任何優雅的解決方案:) – BalusC 2010-08-18 16:56:20

相關問題