2011-07-25 20 views
0

我有一個託管一些HTML頁面的Tomcat 5.5服務器。我想控制對這些頁面的訪問。傳入用戶的HTTP請求應該有特殊的認證值。如何使用令牌控制對Tomcat 5.5中的HTML頁面的訪問

我需要的是編寫一個函數,根據每個用戶請求的認證值返回true/false。基於這個真/假值,用戶應該被授予訪問權或不授予訪問權。

有關如何做到這一點的任何想法?

感謝

回答

1

實用的解決方案是創建一個ServletFilter並將其映射到所有資源(/*)。讀你的問題,我猜你的驗證方法不會基於會話(JSESSIONID cookie),而是基於令牌本身的一部分。

+0

其實我沒有使用JSESSIONID cookie本身,但我在HTTP頭裏面使用了另一個cookie(我們稱之爲MYSESSIONID)。使用此會話的值,我將能夠驗證用戶並決定是否授予他訪問權限。如果我的頁面是JSP而不是HTML,那麼我就可以從JSP頁面本身編程地執行此操作。 但是因爲我使用的是HTML頁面,所以我無法做到這一點..這就是爲什麼我需要一個服務器方法(如Tomcat解決方案)。 – Ticker23

+0

從我看到的ServletFilter鏈接中可以看到,這也僅適用於服務器端腳本。是對的,還是我可以將它用於HTML頁面? – Ticker23

+0

我發現這個鏈接:http://www.lumdev.net/node/2554 它確實如我所願 – Ticker23

1

你必須寫在Tomcat中自己Authenticator

編輯:

  1. 子類的AuthencatorBase類並實現抽象方法authenticate
  2. 將您的罐子中的tomcat的lib文件夾,你的web應用
  3. web.xml哪些資源指定你想保護。
  4. 聲明你的鑑定者在context.xml =>此技術上Valve
  5. 部署應用程序,而且要快樂!
+0

我找不到合適的使用示例。你能給我一個嗎? – Ticker23

+0

把'BasicAuthenticator'放在同一個目錄下。 –

+0

請詳細說明..我發現了很多BasicAuthenticator.java源代碼的鏈接,但是我沒有找到任何如何使用它的例子。我想重寫身份驗證功能並編寫我自己的身份驗證邏輯..但是,如何指定此身份驗證適用的URL路徑?派生類將在哪裏適合我的項目? – Ticker23

相關問題