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的默認配置就可以.你所要做的就是增加兩個文件,設置角色和用戶就可以了.