tomcat的realm域

简介: Realm域,其实可以看成是一个包含了用户及密码的数据库,而且每个用户还会包含了若干角色。也就是包含了用户名、密码、角色三个列的数据记录集合,如下图,最下面椭圆内的包含的整块即可以看成realm域。

Realm域,其实可以看成是一个包含了用户及密码的数据库,而且每个用户还会包含了若干角色。也就是包含了用户名、密码、角色三个列的数据记录集合,如下图,最下面椭圆内的包含的整块即可以看成realm域。它的出现是为了方便统一地提供一种X(用户,密码,权限)与Yweb资源)的映射关系。

 

    我们有三个web应用的资源及对应资源访问角色,web1应用中url1资源必须拥有role1角色的用户才可以访问,web2应用中rul2资源则需要role2角色才可访问,而web3应用的rule3角色可以访问url3资源和url4资源。这时有了realm域就可以很方便建立起用户与每个web应用及相关资源的权限关系。

所以Realm域是为了统一web容器资源安全管理、统一抽离重复认证工作、方便web应用资源权限管理开发而提出的一个概念。它属于在web容器级别提供权限认证的支持,它支持三个Container级别的共享,即Engine、HostContext,我们知道tomcat结构分为四个级别,除了这三个还有一个wrapper级别,由于它对应的是一个servlet,所以它不能有对应的realm。那么Engine级别属于所有web应用共享,Host级别则属于在该虚拟主机上的web应用共享,而Context级别则是专属于某个web应用。从这方面可以看出tomcat又可以通过配置提供不同的realm共享级别。

那么在了解了什么是realm域后,我们进一步看看,realm可以以不同的存储方式保存用户名、密码、角色,例如数据库、配置文件、其他存储系统等等。所以根据不同的存储方式tomcat提供了各种支持。下面就看下realm的类型。

JDBCRealm,用户密码角色信息保存在一个关系数据库中,通过JDBC驱动对信息进行获取。

DataSourceRealm,用户密码角色信息保存在一个关系数据库中,通过配置JNDIJDBC数据源对信息进行获取。

JNDIRealm,用户密码角色信息保存在一个基于LDAP协议的目录服务器中,通过JNDI对信息进行获取。

UserDatabaseRealm,用户密码角色信息保存在一个名为“UserDatabase”的JNDI资源中,一般默认是保存在conf/tomcat-users.xml文件中。这是tomcat默认的realm,也是通过JNDI对信息进行获取。

MemoryRealm,用户密码角色信息保存在内存当中,其通过conf/tomcat-users.xml进行初始化。通过指定内存对信息进行获取。

JAASRealm,用户密码角色信息保存在JAAS相应的配置文件中,通过JAAS框架对信息进行获取。


点击订购作者《Tomcat内核设计剖析》



目录
相关文章
|
Java 应用服务中间件 数据库连接
|
2月前
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS
|
2月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
6天前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
5月前
|
安全 网络协议 应用服务中间件
tomcat 状态页 及常见配置
tomcat 状态页 及常见配置
|
2月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
2月前
|
Java 应用服务中间件 开发工具
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
|
2月前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
|
5月前
|
XML Java 应用服务中间件
Tomcat_servlet部署、编译、配置、打包
Tomcat_servlet部署、编译、配置、打包
65 0
|
3月前
|
应用服务中间件
入职必会-开发环境搭建23-IDEA配置Tomcat
IDEA配置Tomcat分为两部分: 1. IDEA集成本地Tomcat 2. IDEA中使用Tomcat部署Web项目 在配置IntelliJ IDEA中的Tomcat时,首先需要打开IDEA,选择菜单中的Run -> Edit Configurations,在左侧菜单中找到+并点击,然后选择Tomcat Server下的Local(注意不要选择错了,下方还有个TomEE Server,不是选这个)。接下来,输入一个自定义的名字作为Tomcat的配置名称,点击Configure...配置Tomcat的安装路径。这样IDEA就配置好了Tomcat。