tomcat配置


管理领域、角色及用户

为了使用tomcat的容器管理的安全防护机制,必须设定领域。领域只是用户、密码以及角色的集合。
web应用程序可以在其web.xml中设定哪些用户组可以访问哪些资源,而tomcat管理员则可以使用一个或多个领域实现来获取用户、密码以及角色信息。

tomcat含有可插入式的领域架构,并具备几种有用的领域实现:UserDatabaseRealm,JDBCRealm,JNDIRealm与JAASRralm
Java开发者可以创建额外的领域实现,以便作为与其用户和密码的接口,如欲指定应该使用何种领域,请在server.xml文件中插入Realm元素,以className属性设定        欲使用的领域,然后通过该实现的自定义属性以提供此领域相关的配置信息

UserDatabaseRealm
是从静态文件加载到内存中的,且直到tomcat停止后才从内存中清除。
事实上,tomcat所用的用户、密码以及角色只存在于内存中,换句话说,权限文件只会在启动时读入一次。
在UserDatabaseRealm中分配权限的默认文件为$CATALINA_HOME/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <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"/>
  
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <user username="yinnana" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>

JDBCRealm
能动态地访问数据,基本上这是使用关系型数据库的领域。
用户、密码及角色保存在数据库中,而JDBCRealm会马上访问他们
在server.xml文件中,需要将JDBC的连接参数设成领域的属性
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
		<Realm className="org.apache.catalina.realm.JDBCRealm"
				driverName="com.mysql.jdbc.Driver"
				connectionURL="jdbc:mysql://10.151.15.100:3306/intell_kefu?characterEncoding=utf-8"
				connectionName="intell_kefu"
				connectionPassword="123qwe"
				userTable="cs_user"	
				userRoleTable="cs_user_role"	
				userCredCol="login_pwd"
				roleNameCol="role_id"
				userNameCol="user_id"/>                     				
      </Realm>



容器管理的安全防护

当访问受保护的资源时,容器管理的验证方法控制确认用户身份的方式,tomcat支持四种容器管理的安全防护,而每种类型都以不同的方式取得身份
基本验证:通过HTTP验证,需要提供base64编码文本的用户口令
摘要验证:通过HTTP验证,需要提供摘要编码字符串的用户口令
表单验证:在网页的表单上要求提供用户密码
client-cert验证:以客户端数字证书来确认用户的身份

、从



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值