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