JBOSS和TOMCAT下设置安全域的要点

来源:互联网 发布:淘宝液晶电视最低价 编辑:程序博客网 时间:2024/04/29 07:08

1.Tomcat下部署

A.首先需要在Web.xml中设置三个元素<security-constraint>,<login-config>,<security-role>

 <security-constraint>中指明了受到限制的URL和可以访问的Role.

 <security-constraint>中设置的role需要在<security-role>中指定.

<login-config>设置以哪种方式来登陆,可选的有BASIC,FORMDigest(MD5摘要认证)三种认证方式.如果是FORM方式的话,则需要两个JSP文件,文件名可以随意指定,但是自定义的验证网页的表单名和字段名则需要按照如下定义:j_security_check (FORM),j_username,j_password.

B.TomcatServer.xml中打开Realm元素,可以选择的有三种:Memory Realm,JDBC RealmDataSource Realm.

如果选择了MemoryRelm,则需要在Tomcat目录下的tomcat-users.xml中设置Roleuser.

格式为

<tomcat-users>

  <role rolename="role1"/>

  <user username="role1" password="tomcat" roles="role1"/>

</tomcat-users>

 其他的认证方式请参考<<TomcatWEB开发>> Chapter 11

 

2.JBoss下部署

A.同样,对于一个应用来说,也需要在Web.xml中设置三个元素.请参考上述的A

B.JBOSSserver/default/conf目录下有个login-config.xml,这里指定了当需要验证时如何去读取用户名和密码.这个文件的作用有点类似上述Realm的作用,但是用户的roleuser不是在这个文件里指定,而是需要在配置文件中指明文件名.请参考这个文件中<jmx-console>的设置.

如果没有明确的在login-server中指出应用的验证方式,则会使用other方式.验证用户名和密码的时候,会去应用的WEB-INF/classes/目录下去读取users.propertiesroles.properties.这两个文件.

C. roles.properties的格式是:

用户名=角色名(注意不要写反了,在使用的时候,就是不小心把这两个颠倒了,结果总是报错)

   Users.properties的格式是:

       用户名=密码 

实际上在JBOSS下部署更为方便,你不用像在Tomcat下那样去改Server.xml,只需要采用
JBOSS
的默认配置就可以.你所要做的就是增加两个文件,设置角色和用户就可以了.

原创粉丝点击