




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Tomcat服务器配置参考Realm组件概述Realm元素是一个包含用户名,密码和用户角色的数据库。角色与Unix的group类似。Realm的不同实现允许将Catalina集成到认证信息已经被创建和维护的环境中,然后利用这些信息来实现Container Managed Security,如Servlet Specification中所述。你可以在任何Catalina容器(Engine,Host或者Context)中嵌套Realm元素。另外,Engine或者Host的Realm会自动被低层次的容器继承,除非被明确覆盖。有关web应用中container managed security的更多信息,参考FIXME-应用开发者这一部分中“Container Managed Security指南”的连接;有关配置和使用标准Realm实现的更多信息,参考FIXME-管理者这一部分中的Realm Configuration HOW-TO连接。以下的描述使用变量$CATALINA_HOME来指Tomcat 5安装的目录。大多数的相对路径都是以该目录为基准。但是,通过设置CATALINA_BASE目录,可以运行多个Tomcat 5实例,这时你应该使用$CATALINA_BASE来作为目录基准,而不是使用$CATALINA_HOME。属性公共属性所有Realm的实现支持如下属性:属性描述className实现的Java类名。这个类必须实现org.apache.catalina.Realm接口。标准实现和大多数Catalina组件不一样的是,Realm有几个标准的实现。所以,必须使用className属性来选择你希望使用的实现。JDBC Database Realm (org.apache.catalina.realm.JDBCRealm)JDBC Database Realm将Catalina连接到一个关系数据库,通过正确的JDBC驱动访问,用来查询用户名,密码和他们相关的角色。由于查询是在每次必要的时候完成的,因此数据库的改变会马上反映到用来认证新登录的信息中。 除了用来获取必需信息的数据库表名和列名以外,还有很多附加的属性用来配置到数据库的连接:属性描述connectionName建立JDBC连接时使用的数据库用户名connectionPassword建立JDBC连接时使用的数据库密码connectionURL建立数据库连接时传递给JDBC驱动的连接URLdigest用来对数据库中的用户密码编码的“消息摘要”算法的名称。如果没有指定,密码以明文方式存储。driverName连接到认证数据库的JDBC驱动的完整的Java类名roleNameCol“用户角色“表中的列名,包含了指定给对应用户的角色名称。userCredCol“用户”表中的列名,包含用户的可信数据(比如,密码)。如果设置了digest属性,则假定密码已经用了指定的算法进行编码,否则,假定密码是明文密码。userNameCol“用户”表和“用户角色”表中的列名,包含用户的用户名userRoleTable“用户角色”表名,必须包含userNameCol和roleNameCol指定的列。userTable用户表,必须包含userNameCol和userCredCol属性指定的列有关使用JDBC Database Realm组件来设置container managed security的更多信息,参考FIXME - Nested pointer into HOW-TO DataSource Database Realm (org.apache.catalina.realm.DataSourceRealm) DataSource Database Realm 将Catalina连接到一个关系数据库,通过一个名为JDBC Datasource的JNDI访问,查询用户名,密码以及他们对应的角色。由于查询在每次需要的时候进行,因此数据库的变化会马上反映到用来认证新的登录的信息上。 JDBC Realm使用单个数据库连接。这要求基于realm的认证之间同步,比如,同一时刻只允许一个认证。这对需要大量使用认证的应用程序来说是一个瓶颈。 DataSource Database Realm支持并发的基于Realm的认证,允许JDBC DataSource处理优化问题,比如数据库连接池。有很多选项可以配置JNDI JDBC Datasource的名字,同时包括用来获取必要信息的数据库表名和列名。属性描述dataSourceNameRealm的JNDI JDBC DataSource的名字digest用来对存储在数据库中的用户密码编码的消息摘要算法的名称。如果没有指定,假定用户密码以明文方式存储。roleNameCol“用户角色“表中的列名,包含了指定给对应用户的角色名称。userCredCol“用户”表中的列名,包含了用户的可信数据(比如,密码)。如果设置了digest属性,则假定密码已经用了指定的算法进行编码,否则,假定密码是明文密码。userNameCol“用户”表和“用户角色”表中的列名,包含用户的用户名。userRoleTable用户角色表名,必须包含userNameCol和roleNameCol指定的列。userTable用户表,必须包含userNameCol和userCredCol属性指定的列。有关使用DataSource Database Realm组件配置container managed security的更多信息,参考DataSource Realm HOW-TO。JNDI Directory Realm (org.apache.catalina.realm.JNDIRealm)JNDI Directory Realm将Catalina连接到一个LDAP目录,通过正确的JNDI驱动访问。LDAP目录存储了用户名,密码以及他们相应的角色。对目录的修改马上反映到用来认证新的登录的数据上面。 directory realm支持许多使用LDAP进行认证的方法: realm可以使用模式来决定用户目录条目的唯一名字(distinguished name),或者搜索目录来定位该条目; realm可以将用户条目的唯一名字和用户给出的密码绑定到目录上,对用户进行认证;或者,从用户条目中取出密码,在本地进行比较; 在目录中,角色可以以单独的条目存在(比如,用户所属的组条目),或者,角色可以是用户条目的一个属性,或者两种情况都是; 除了到目录的连接,用户从目录中获取信息的元素和属性名称以外,Directory Realm还支持很多其他的附加属性:属性描述authentication使用的认证类型,字符串类型。可以是“none”,“simple”,“strong”或者提供者定义的其他类型,如果没有值,使用提供者提供的缺省值。connectionName创建目录连接使用的目录用户名。如果没有指定,使用匿名连接,这在大多数情况下就足够了,除非你指定了userPassword属性connectionPassword创建目录连接使用的目录密码。如果没有指定,使用匿名连接,这在大多数情况下就足够了,除非你指定userPassword属性。connectionURL创建目录连接时,传递给JNDI驱动的连接URL。contextFactory用来取得JNDI InitialContext的工厂类的Java类名。缺省情况下,假定使用标准的JNDI LDAP提供者。protocol使用的安全协议。如果没有指定,使用提供者提供的缺省值。roleBase用于角色查找的基准目录条目。如果没有指定,使用目录上下文的顶级元素。 roleName在角色查找中,包含角色名的属性的名称。另外,在用户条目中,你可以使用userRoleName来指定包含额外角色名的属性名称,。如果没有指定,不搜索角色,角色存在于用户条目中。roleSearch用来进行角色查找的LDAP过滤器表达式。使用0来代替用户的唯一名称,1来代替用户名。如果没有指定,不对角色进行搜索,角色从用户条目中由userRoleName指定的属性得到。roleSubtree在查找与用户相关联的角色时,如果想搜索由roleBase属性指定的元素的整个子树,设为true。缺省值为false,只对顶级元素进行搜索。userBase在使用userSearch表达式搜索用户的时候的基准元素。如果使用userPattern表达式进行搜索,不使用这个属性。userPassword在用户条目中包含用户密码的属性名。如果指定了这个值,JNDIRealm使用connectionName和connectionPassword属性指定的值绑定到目录,取出对应的属性,与被认证的用户给出的值进行比较。如果不指定这个值,JNDIRealm会尝试使用用户条目的唯一名称和用户给出的密码绑定到目录,如果绑定成功,说明认证成功。userPattern用户目录条目的唯一名称的模式,0代表实际的用户名。在唯一名称包含用户名,其他的项都相同的时候,可以使用这个属性,而不是使用userSearch,userSubtree和userBase.userRoleName用户目录条目中的一个属性名,该属性包含了零个或多个指定给用户的角色名的值。另外,如果角色以单独的条目存在,可以使用roleName属性来指定属性名,在搜索目录的时候,可以得到这个属性。如果不指定userRoleName,用户的所有角色通过角色搜索得到;userSearch搜索用户目录条目时,使用的LDAP过滤表达式,0代表实际的用户名,可以使用userSearch,userBase和userSubtree属性一起来代替userPattern搜索目录。userSubtree如果希望搜索由userBase属性指定的元素的整个子树,设为true,缺省值为false,即只搜索顶级元素。如果使用userPattern表达式,不使用这个属性。有关使用JNDI Directory Realm组件设置container managed security的更多信息,参考 FIXME - Nested pointer into HOW-TO Memory Based Realm (org.apache.catalina.realm.MemoryRealm)Memory Based Realm是一个简单的Realm实现,它从XML文件中读取用户信息,将这些信息标识为内存中的一系列Java对象的集合。这个实现只是用来启动container managed security,而不是用在产品中。所以,当数据文件改变的时候,没有机制来更新内存中用户的集合。Memory Based Realm实现支持如下的附加属性:属性描述pathname包含用户信息的XML文件的绝对或者相对路径。XML文件的格式在下面定义。如果没有指定这个属性,缺省值为conf/tomcat-users.xml由p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国速冻板栗行业市场发展趋势分析与未来投资战略咨询研究报告
- 体育馆控烟工作制度和措施
- 2025至2030中国移动钱包(NFC、数字钱包)行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国硬质阳极氧化铝炊具行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国石油沥青行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国男式全棉睡袍行业产业运行态势及投资规划深度研究报告
- 2025至2030中国生态度假农庄行业市场发展现状及发展趋势与投资报告
- 2025至2030中国瓦楞芯纸行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国环戊基溴化镁市场深度调查与未来前景预测报告
- 写字楼访客门卫管理制度及岗位职责
- 机房施工方案及技术措施
- 员工培训矩阵表
- 掼蛋大赛招商方案
- 电影特效制作课件
- 304不锈钢管焊接工艺
- 网络安全教育安全教育
- 医疗器械经销商和代理商法规义务
- 糖尿病专科护士培训学习汇报课件
- 心理健康教育C证面试20个题目参考答案
- 危险化学品库房贮存规定培训课件
- Part 3-4 Unit 7 Invention and Innovation教案-【中职专用】高一英语精研课堂(高教版2021·基础模块2)
评论
0/150
提交评论