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