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
的默认配置就可以
.
你所要做的就是增加两个文件
,
设置角色和用户就可以了
.