Tomact中权限设置-Realm配置

原创 2015年11月21日 15:29:27
  • 什么是Realm
      Realm(安全域)其实就是一个存储用户名和密码的“数据库”再加上一个枚举列表。“数据库”中的用户名和密码是用来验证 Web 应用(或 Web 应用集合)用户合法性的,而每一合法用户所对应的角色存储在枚举列表中。可以把这些角色看成是类似 UNIX 系统中的 group(分组),因为只有能够拥有特定角色的用户才能访问特定的 Web 应用资源(而不是通过对用户名列表进行枚举适配)。特定用户的用户名下可以配置多个角色。
      虽然 Servlet 规范描述了一个可移植机制,使应用可以在 web.xml 部署描述符中声明它们的安全需求,但却没有提供一种可移植 API 来定义出 Servlet 容器与相应用户及角色信息的接口。然而,在很多情况下,非常适于将 Servlet 容器与一些已有的验证数据库或者生产环境中已存在的机制“连接”起来。因此,Tomcat 定义了一个 Java 接口,通过“插入”组件来建立连接。提供了 6 种标准插件,支持与各种验证信息源的连接:
      
  • JDBCRealm–通过JDBC驱动器来访问保存在关系型数据库中的验证信息。
  • DataSourceRealm-访问保存在关系型数据库中的验证信息。
  • JNDIRealm-访问保存在LDAP目录服务器中的验证信息。
  • UserDatabaseRealm–访问存储在一个UserDatabase JNDI数据源中的认证信息,通常依赖一个XML文档(tomact配置文件conf/tomact-users.xml)
  • MemoryRealm——访问存储在一个内存中对象集合中的认证信息,通过 XML 文档初始化(conf/tomcat-users.xml)。
  • JAASRealm——通过 Java 认证与授权服务(JAAS)架构来获取认证信息。
      当然除了这6种,自己也可以写出自定义的Realm实现,整合到tomcat中,具体步骤:
      实现org.apache.catalina.Realm接口
      将编译好的realm放到 $CATALINA_HOME/lib中
      声明自定义 realm
      在 MBeans 描述符文件中声明自定义realm。
    配置 Realm

在详细介绍标准 Realm 实现之前,简要了解 Realm 的配置方式是很关键的一步。大体来说,就是需要在conf/server.xml 配置文件中添加一个 XML 元素,如下所示:

<Realm className="... class name for this implementation"
       ... other attributes for this implementation .../>  

<Realm> 可以嵌入以下任何一种 Container 元素中。Realm 元素的位置至关重要,它会对 Realm 的“范围”(比如说哪个 Web 应用能够共享同一验证信息)有直接的影响。

<Engine> 元素 内嵌入该元素中的这种 Realm 元素可以被所有虚拟主机上的所有 Web 应用所共享,除非该 Realm 元素被内嵌入下属 <Host> 或 <Context> 元素的 Realm 元素所覆盖。
<Host> 元素 内嵌入该元素中的这种 Realm 元素可以被这一虚拟主机上的所有 Web 应用所共享。除非该 Realm 元素被内嵌入下属 <Context> 元素的 Realm 元素所覆盖。
<Context> 元素 内嵌入该元素中的这种 Realm 元素只能被这一 Web 应用所使用。

配置的详细信息都在http://tomcat.apache.org/tomcat-8.0-doc

版权声明:本文为博主原创文章,未经博主允许不得转载。

SVN用户及权限配置

svnserve配置   2.1 创建仓库 2.1.1 创建仓库存放目录 # mkdir -p /opt/svn/{repos,etc} 2.1.2 创建SVN仓库 # svnadm...
  • lky5387
  • lky5387
  • 2013年03月04日 19:19
  • 66689

shiro 权限框架自定义Realm

shiro 权限框架自定义Realm
  • u012014505
  • u012014505
  • 2016年09月10日 18:14
  • 3035

Android数据库Realm学习(一)基本使用

Realm 是一个移动开源数据库,可运行于手机、平板和可穿戴设备之上。可以让你的应用更快速,带来难以想象的体验。其目标是为了代替 CoreData 和 SQLite 数据库。...
  • shareye1992
  • shareye1992
  • 2016年03月03日 16:18
  • 11819

Tomact的目录结构

官网:http://tomcat.apache.org/ 先看一下除了文件夹以外的其他文件。 LICENSE顾名思义就是许可证,里面记录了tomcat的一些条款等等。 NOTICE里面记录了to...
  • leiqi96
  • leiqi96
  • 2015年10月01日 22:16
  • 116

Tomact的一些小配置

1、当一台服务器启动太大的Tomact的时候,需要区别Tomact
  • liuyuehu
  • liuyuehu
  • 2014年08月08日 11:42
  • 2559

自学-Shiro中多Realm的配置-09

项目结构: 学习了前几节,只是知道了验证的一个流程和一些其他的原理等。 那么Realm我们该怎么去理解呢? 首先得知道Realm是什么?怎么操作?为什么要使用Realm? ...
  • qq_31080089
  • qq_31080089
  • 2016年12月21日 12:51
  • 1271

Jetty配置jaas访问权限以及密码

jetty 权限控制 jaas login-config 服务器
  • u012653518
  • u012653518
  • 2016年04月21日 16:14
  • 1363

nutz基于shiro实现身份认证和权限认证

最近新入职了一家公司,不同于其他公司,这里用的是Nutz作为其架构,而最近又要基于它利用shiro去做一个权限验证的操作。这里,不过多的介绍Nutz了,主要以shiro为主,话不多说开始正题。 先...
  • WillCold
  • WillCold
  • 2016年10月27日 18:55
  • 1708

shiro授权,自定义realm实现授权,shiro与项目集成,在项目中实现认证及授权

讲前必读 第一节:shiro授权 1. 重点:讲解授权流程并实现对用户授权。 2. 课程实际内容 a)    简介:回顾shiro架构及相关对象以及认证流程 b)    重点:shiro授权...
  • wumengjie123
  • wumengjie123
  • 2016年11月15日 18:15
  • 2910

【Shiro】Apache Shiro架构之自定义realm

之前写的博客里都是使用.ini文件来获取信息的,包括用户信息,角色信息,权限信息等。进入系统时,都是从.ini文件这读取进入的。实际中除非这个系统特别特别简单,一般都不是这样干的,这些信息都是需要在数...
  • eson_15
  • eson_15
  • 2016年07月05日 19:02
  • 6922
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomact中权限设置-Realm配置
举报原因:
原因补充:

(最多只允许输入30个字)