1. 在 Tomcat 下部署
A. 首先需要在 Web.xml 中設置三個元素 <security-constraint>,<login-config>,<security-role>
<security-constraint> 中指明了受到限制的 URL 和可以訪問的 Role.
在 <security-constraint> 中設置的 role 需要在 <security-role> 中指定 .
<login-config> 設置以哪種方式來登陸 , 可選的有 BASIC,FORM 和 Digest(MD5 摘要認證 ) 三種認證方式 . 如果是 FORM 方式的話 , 則需要兩個 JSP 文件 , 文件名可以隨意指定 , 但是自定義的驗證網頁的表單名和字段名則需要按照如下定義 :j_security_check (FORM 名 ),j_username,j_password.
B. 在 Tomcat 的 Server.xml 中打開 Realm 元素 , 可以選擇的有三種 :Memory Realm,JDBC Realm 和 DataSource Realm.
如果選擇了 MemoryRelm, 則需要在 Tomcat 目錄下的 tomcat-users.xml 中設置 Role 和 user.
格式為
<tomcat-users>
<role rolename="role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
其他的認證方式請參考 <<Tomcat 與 WEB 開發 >> Chapter 11
2. 在 JBoss 下部署
A. 同樣 , 對于一個應用來說 , 也需要在 Web.xml 中設置三個元素 . 請參考上述的 A
B. 在 JBOSS 的 server\default\conf 目錄下有個 login-config.xml, 這里指定了當需要驗證時如何去讀取用戶名和密碼 . 這個文件的作用有點類似上述 Realm 的作用 , 但是用戶的 role 和 user 不是在這個文件里指定 , 而是需要在配置文件中指明文件名 . 請參考這個文件中 <jmx-console> 的設置 .
如果沒有明確的在 login-server 中指出應用的驗證方式 , 則會使用 other 方式 . 驗證用戶名和密碼的時候 , 會去應用的 WEB-INF/classes/ 目錄下去讀取 users.properties 和 roles.properties. 這兩個文件 .
C. roles.properties 的格式是 :
用戶名 = 角色名 ( 注意不要寫反了 , 在使用的時候 , 就是不小心把這兩個顛倒了 , 結果總是報錯 )
Users.properties 的格式是 :
用戶名 = 密碼
實際上在
JBOSS
下部署更為方便
,
你不用像在
Tomcat
下那樣去改
Server.xml,
只需要采用
JBOSS
的默認配置就可以
.
你所要做的就是增加兩個文件
,
設置角色和用戶就可以了
.