tomcat的realm域
2016-04-26 09:13
471 查看
Realm域,其实可以看成是一个包含了用户及密码的数据库,而且每个用户还会包含了若干角色。也就是包含了用户名、密码、角色三个列的数据记录集合,如下图,最下面椭圆内的包含的整块即可以看成realm域。它的出现是为了方便统一地提供一种X(用户,密码,权限)与Y(web资源)的映射关系。
我们有三个web应用的资源及对应资源访问角色,web1应用中url1资源必须拥有role1角色的用户才可以访问,web2应用中rul2资源则需要role2角色才可访问,而web3应用的rule3角色可以访问url3资源和url4资源。这时有了realm域就可以很方便建立起用户与每个web应用及相关资源的权限关系。
所以Realm域是为了统一web容器资源安全管理、统一抽离重复认证工作、方便web应用资源权限管理开发而提出的一个概念。它属于在web容器级别提供权限认证的支持,它支持三个Container级别的共享,即Engine、Host和Context,我们知道tomcat结构分为四个级别,除了这三个还有一个wrapper级别,由于它对应的是一个servlet,所以它不能有对应的realm。那么Engine级别属于所有web应用共享,Host级别则属于在该虚拟主机上的web应用共享,而Context级别则是专属于某个web应用。从这方面可以看出tomcat又可以通过配置提供不同的realm共享级别。
那么在了解了什么是realm域后,我们进一步看看,realm可以以不同的存储方式保存用户名、密码、角色,例如数据库、配置文件、其他存储系统等等。所以根据不同的存储方式tomcat提供了各种支持。下面就看下realm的类型。
①JDBCRealm,用户密码角色信息保存在一个关系数据库中,通过JDBC驱动对信息进行获取。
②DataSourceRealm,用户密码角色信息保存在一个关系数据库中,通过配置JNDI的JDBC数据源对信息进行获取。
③JNDIRealm,用户密码角色信息保存在一个基于LDAP协议的目录服务器中,通过JNDI对信息进行获取。
④UserDatabaseRealm,用户密码角色信息保存在一个名为“UserDatabase”的JNDI资源中,一般默认是保存在conf/tomcat-users.xml文件中。这是tomcat默认的realm,也是通过JNDI对信息进行获取。
⑤MemoryRealm,用户密码角色信息保存在内存当中,其通过conf/tomcat-users.xml进行初始化。通过指定内存对信息进行获取。
⑥JAASRealm,用户密码角色信息保存在JAAS相应的配置文件中,通过JAAS框架对信息进行获取。
我们有三个web应用的资源及对应资源访问角色,web1应用中url1资源必须拥有role1角色的用户才可以访问,web2应用中rul2资源则需要role2角色才可访问,而web3应用的rule3角色可以访问url3资源和url4资源。这时有了realm域就可以很方便建立起用户与每个web应用及相关资源的权限关系。
所以Realm域是为了统一web容器资源安全管理、统一抽离重复认证工作、方便web应用资源权限管理开发而提出的一个概念。它属于在web容器级别提供权限认证的支持,它支持三个Container级别的共享,即Engine、Host和Context,我们知道tomcat结构分为四个级别,除了这三个还有一个wrapper级别,由于它对应的是一个servlet,所以它不能有对应的realm。那么Engine级别属于所有web应用共享,Host级别则属于在该虚拟主机上的web应用共享,而Context级别则是专属于某个web应用。从这方面可以看出tomcat又可以通过配置提供不同的realm共享级别。
那么在了解了什么是realm域后,我们进一步看看,realm可以以不同的存储方式保存用户名、密码、角色,例如数据库、配置文件、其他存储系统等等。所以根据不同的存储方式tomcat提供了各种支持。下面就看下realm的类型。
①JDBCRealm,用户密码角色信息保存在一个关系数据库中,通过JDBC驱动对信息进行获取。
②DataSourceRealm,用户密码角色信息保存在一个关系数据库中,通过配置JNDI的JDBC数据源对信息进行获取。
③JNDIRealm,用户密码角色信息保存在一个基于LDAP协议的目录服务器中,通过JNDI对信息进行获取。
④UserDatabaseRealm,用户密码角色信息保存在一个名为“UserDatabase”的JNDI资源中,一般默认是保存在conf/tomcat-users.xml文件中。这是tomcat默认的realm,也是通过JNDI对信息进行获取。
⑤MemoryRealm,用户密码角色信息保存在内存当中,其通过conf/tomcat-users.xml进行初始化。通过指定内存对信息进行获取。
⑥JAASRealm,用户密码角色信息保存在JAAS相应的配置文件中,通过JAAS框架对信息进行获取。
相关文章推荐
- tomcat的realm域
- Tomcat如何实现资源安全管理
- Tomcat如何实现资源安全管理
- tomcat无法正常启动的原因
- How Tomcat works 第三总结
- maven利用tomcat插件部署远程Linux服务器的步骤详解
- 11、Tomcat使用、Servlet入门
- 苹果安装tomcat方法
- ServletContext在tomcat启动的时候创建
- Solr系列一:Solr与Tomcat的整合
- Java设计模式(五) Observer(观察者)模式及Tomcat引申
- Server Tomcat v8.0 Server at localhost failed to start.java.util.concurrent.ExecutionException: org.
- tomcat 404 配置的问题
- Linux 重启Tomcat脚本
- Tomcat的部署方式
- nginx+memcahed+tomcat实现session的资源共享
- tomcat下的struts2+CDI(weld)+JPA配置
- Linux环境下搭建Tomcat+mysql+jdk
- tomcat 与 nginx,apache是什么关系
- tomcat(9)Session管理