Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 架构 > Tomcat > 正文

tomcat开启安全认证 四

时间:2014-08-26 21:38 来源:未知 作者:www.51ou.com 阅读:
网站实现只有开发人员访问,可以通过开启tomcat的安全认证,这个安全认证可以保护某个站点、文件、文件夹等。
 
tomcat容器支持以下四种认证方式。本文档采用的是BASIC认证。
1.  BASIC认证:这种方式被认为是最不安全的认证,因为它不提供强烈的加密措施
 <login-config>
          <auth-method>BASIC</auth-method>
    </login-config>
2.  DIGEST认证:相比于BASIC认证,它是种比较安全的认证,它在认证时将请求数据 通过MD5的加密方式进行认证。将上文中的BASIC改成DIGEST即可
3.  FORM认证:这是种基础自定义表单的认证,你可以指定登录时的验证表单。 同上。
 <login-config>
         <auth-method>FORM</auth-method>
         <form-login-config>
             <!—创建登录表单 -->
             <form-login-pages>/login.htm</form-login-pages>
             <!—创建错误表单 -->
             <form-error-pages>/error.html</form-error-pages>
          </form-login-config>
       </login-config>
以下是表单的内容
 <form action="j_security_check" method="post">
           Username<input type="text" name="j_username" /><br />
           Password<input type="password" name="j_password" /><br />
          <input type="submit" />
       </form>
4.  CLIENT-CERT认证:这是一种基于客户端证书的认证方式,比较安全。但缺陷是在没有安全证书的客户端无法使用。 配置同3.
配置简单的认证的步骤
1.  定义角色和用户:可以在conf/tomcat-user.xml文件中定义,也可以创建数据库角色与用户表。此次试验只做了在tomcat-user.xml定义。
打开tomcat-user.xml,找到下面这段,去掉注释,并修改文档。
<!--
<role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
在此我定义的角色为snow,用户为xudexue,密码为123456,修改后的这一段内容为
<role rolename="snow"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="xudexue" password="123456" roles="snow"/>
2.  配置用户访问的权限
打开web.xml文件,在</servlet>后面增加如下一段
<!--                       configure by xudexue                   -->
<security-constraint>
        <display-name>mysystem</display-name>
        <web-resource-collection>
            <web-resource-name>Protected Area</web-resource-name>
            <url-pattern>/*</url-pattern>  <!—控制访问的是/*,意思是网站根目录下面所有的文件,此处/代表根,如果是根下别的目录test下面的某个文件test.html,可以这样写/test/test.html -->
        </web-resource-collection>
        <auth-constraint>
            <!-- Anyone with one of the listed roles may access this area -->
            <role-name>snow</role-name>  <!—角色名,注意不是用户名-->
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method> <!—这里说明认证方式为BASIC -->
        <realm-name>mysystem</realm-name> <!—这只是个名字随便取-->
    </login-config>
    <security-role>
        <description>  <!—这是一段描述,也随意-->
            The role that is required to log in to the Administration Application
        </description>
        <role-name>snow</role-name>  <!—角色名,注意不是用户名 -->
    </security-role>
 
 <!--                       configure   by xudexue                -->
3.  重启tomcat在浏览器访问url:http://127.0.0.1:8080,回车出现如下图的框框,数据用户名密码。
 
此项目容易出错的就是403 拒绝访问错误,此次我遇到这个错误的原因是:在web.xml文件中我把role-name的那一项,本该写的是角色名,我写成了用户名,所以输入用户名和密码之后就是403的权限访问错误。

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《tomcat开启安全认证 四》技术文章,《tomcat开启安全认证 四》详细使用和说明,有时《tomcat开启安全认证 四》可能不完善、敬请谅解!如果《tomcat开启安全认证 四》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(3)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片