我有一個託管一些HTML頁面的Tomcat 5.5服務器。我想控制對這些頁面的訪問。傳入用戶的HTTP請求應該有特殊的認證值。如何使用令牌控制對Tomcat 5.5中的HTML頁面的訪問
我需要的是編寫一個函數,根據每個用戶請求的認證值返回true/false。基於這個真/假值,用戶應該被授予訪問權或不授予訪問權。
有關如何做到這一點的任何想法?
感謝
我有一個託管一些HTML頁面的Tomcat 5.5服務器。我想控制對這些頁面的訪問。傳入用戶的HTTP請求應該有特殊的認證值。如何使用令牌控制對Tomcat 5.5中的HTML頁面的訪問
我需要的是編寫一個函數,根據每個用戶請求的認證值返回true/false。基於這個真/假值,用戶應該被授予訪問權或不授予訪問權。
有關如何做到這一點的任何想法?
感謝
實用的解決方案是創建一個ServletFilter並將其映射到所有資源(/*
)。讀你的問題,我猜你的驗證方法不會基於會話(JSESSIONID cookie),而是基於令牌本身的一部分。
你必須寫在Tomcat中自己Authenticator。
編輯:
AuthencatorBase
類並實現抽象方法authenticate
web.xml
哪些資源指定你想保護。context.xml
=>此技術上Valve
其實我沒有使用JSESSIONID cookie本身,但我在HTTP頭裏面使用了另一個cookie(我們稱之爲MYSESSIONID)。使用此會話的值,我將能夠驗證用戶並決定是否授予他訪問權限。如果我的頁面是JSP而不是HTML,那麼我就可以從JSP頁面本身編程地執行此操作。 但是因爲我使用的是HTML頁面,所以我無法做到這一點..這就是爲什麼我需要一個服務器方法(如Tomcat解決方案)。 – Ticker23
從我看到的ServletFilter鏈接中可以看到,這也僅適用於服務器端腳本。是對的,還是我可以將它用於HTML頁面? – Ticker23
我發現這個鏈接:http://www.lumdev.net/node/2554 它確實如我所願 – Ticker23