Posted on 2005-07-23 04:12
Asktalk 閱讀(29878)
評論(10) 編輯 收藏 所屬分類:
Middleware
為tomcat頁面設置訪問權限
CSDN網址:http://blog.csdn.net/fasttalk
剛從CSDN搬到這里,先發表一篇!
在web應用中,對頁面的訪問控制通常通過程序來控制,流程為:
登錄 -> 設置session -> 訪問受限頁面時檢查session是否存在,如果不存在,禁止訪問
對于較小型的web應用,可以通過tomcat內置的訪問控制機制來實現權限控制。采用這種機制的好處是,程序中無需進行權限控制,完全通過對tomcat的配置即可完成訪問控制。
為了在tomcat頁面設置訪問權限控制,在項目的WEB-INFO/web.xml文件中,進行如下設置:
其中,<url-pattern>中指定受限的url,可以使用通配符*,通常對整個目錄進行訪問權限控制。
<auth-constraint>中指定哪些角色可以訪問<url-pattern>指定的url,在<role-name>中可以設置一個或多個角色名。
使用的角色名來自tomcat的配置文件${CATALINA_HOME}/conf/tomcat-users.xml。
<login-config>中設置登錄方式,<auth-method>的取值為BASIC或FORM。如果為BASIC,瀏覽器在需要登錄時彈出一個登錄窗口。如果為FORM方式,需要指定登錄頁面和登錄失敗時的提示信息顯示頁面。
使用FORM方式的配置樣例如下:
其中的<form-login-page>指定登錄頁面url,<form-error-page>指定登錄失敗時的提示頁面url。
登錄頁面中,form的action,以及其中的用戶名和密碼兩個參數的名稱,都應取固定的值。登錄的后臺處理程序為j_security_check;用戶名和密碼的參數名稱分別為:j_username和j_password。
如下是登錄頁面(如:login.jsp)的一段示例代碼: