0
点赞
收藏
分享

微信扫一扫

Flowable入门系列文章183 - LDAP的属性介绍

静悠 2022-03-23 阅读 51

以下属性可以设置org.flowable.ldap.LDAPConfiguration:
.LDAP配置属性

属性名称描述类型默认值
服务器可以到达LDAP系统的服务器。例如ldap:// localhost:33389
港口运行LDAP系统的端口INT
用户用于连接到LDAP系统的用户标识
密码用于连接到LDAP系统的密码
InitialContextFactory用于连接到LDAP系统的InitialContextFactory名称com.sun.jndi.ldap.LdapCtxFactory
securityAuthentication用于连接到LDAP系统的java.naming.security.authentication属性的值简单
customConnectionParameters允许设置所有没有专用setter的LDAP连接参数。有关自定义属性,请参阅http://docs.oracle.com/javase/tutorial/jndi/ldap/jndi.html。这些属性例如用于配置连接池,特定的安全设置等。当创建与LDAP系统的连接时将提供所有提供的参数。Map <String,String>
baseDn用于启动用户和组搜索的基本专有名称(DN)
userBaseDn用于搜索用户的基本专有名称(DN)开始。如果没有提供,baseDn(见上)将被使用
groupBaseDn从中开始搜索组的基本专有名称(DN)。如果没有提供,baseDn(见上)将被使用
searchTimeLimit以毫秒为单位在LDAP中执行搜索时使用的超时一小时
queryUserByUserId由userId搜索用户时执行的查询。例如:(&(objectClass =inetOrgPerson)(uid = {0}))在这里,将返回LDAP中具有inetOrgPerson类和具有匹配的uid属性值的所有对象。如示例所示,通过使用{0}注入用户标识。如果单独设置查询对于您的特定LDAP设置是不够的,您可以插入一个不同的LDAPQueryBuilder,这允许更多的定制,而不仅仅是查询。
queryUserByFullNameLike通过全名搜索用户时执行的查询。例如:(&(objectClass =inetOrgPerson)(({0} = {1})({2} = {3})))将返回LDAP中具有inetOrgPerson类的所有对象以及具有匹配的名和姓值的对象。请注意,{0}将注入firstNameAttribute(如上定义),{1}和{3}搜索文本,{2}注入lastNameAttribute。如果单独设置查询对于您的特定LDAP设置是不够的,您可以插入一个不同的LDAPQueryBuilder,这允许更多的定制,而不仅仅是查询。
queryAllUsers在没有过滤器的情况下搜索用户时执行的查询。例如:(objectClass =inetOrgPerson)在这里,将返回LDAP中具有inetOrgPerson类的所有对象。
queryGroupsForUser搜索特定用户的组时执行的查询。例如:(&(objectClass =groupOfUniqueNames)(uniqueMember = {0}))这里,返回具有类groupOfUniqueNames的 LDAP中的所有对象,并且提供的DN(与用户的DN匹配)是uniqueMember。如示例中所示,通过使用{0}注入用户标识如果单独设置查询对于您的特定LDAP设置而言不足,则可以选择插入不同的LDAPQueryBuilder,这允许比仅查询更多的定制。
queryAllGroups在没有过滤器的组上搜索时执行的查询。例如:(objectClass =groupOfUniqueNames)在这里,将返回LDAP中具有类groupOfUniqueNames的所有对象。
userIdAttribute与用户标识匹配的属性的名称。查找User对象时使用此属性,并完成LDAP对象和Flowable用户对象之间的映射。
userFirstNameAttribute与用户名相匹配的属性的名称。查找User对象时使用此属性,并完成LDAP对象和Flowable用户对象之间的映射。
userLastNameAttribute与用户姓氏匹配的属性的名称。查找User对象时使用此属性,并完成LDAP对象和Flowable用户对象之间的映射。
groupIdAttribute与组ID相匹配的属性的名称。查找Group对象时使用此属性,LDAP对象和Flowable组对象之间的映射已完成。
groupNameAttribute与组名称匹配的属性的名称。查找Group对象时使用此属性,LDAP对象和Flowable组对象之间的映射已完成。
groupTypeAttribute与组类型匹配的属性的名称。查找Group对象时使用此属性,LDAP对象和Flowable组对象之间的映射已完成。

以下属性是当您想要自定义默认行为或引入组缓存时:

高级属性

属性名称描述类型默认值
ldapUserManagerFactory如果默认实现不适合,请设置LDAPUserManagerFactory的自定义实现。LDAPUserManagerFactory的实例
ldapGroupManagerFactory如果默认实现不适合,请设置LDAPGroupManagerFactory的自定义实现。LDAPGroupManagerFactory实例
ldapMemberShipManagerFactory如果默认实现不适合,请设置LDAPMembershipManagerFactory的自定义实现。请注意,这是非常不可能的,因为成员资格通常在LDAP系统中进行管理。LDAPMembershipManagerFactory的一个实例
ldapQueryBuilder如果默认实现不适合,请设置自定义查询生成器。当LDAPUserManager或LDAPGroupManage}对LDAP系统进行实际查询时,使用LDAPQueryBuilder实例。默认实现使用在此实例上设置的属性,如queryGroupsForUser和queryUserByIdorg.flowable.ldap.LDAPQueryBuilder的一个实例
groupCacheSize允许设置组缓存的大小。这是一个LRU缓存,为用户缓存组,从而避免每次需要知道用户组时碰到LDAP系统。如果值小于零,缓存将不会被实例化。默认情况下设置为-1,所以没有缓存完成。INT-1
groupCacheExpirationTime以毫秒为单位设置组缓存的到期时间。当获取特定用户的组时,如果组缓存存在,组将在此属性中设置的时间内存储在此缓存中。也就是说,当组在00:00获取并且到期时间是30分钟时,在00:30之后对该用户的组的任何获取将不会从缓存中获得,而是从LDAP系统中再次获取。同样,在00:00 - 00:30之间完成的所有用户组的获取都将来自缓存。一小时

注意使用Active Directory时:人们已经报告说,对于Active Directory,InitialDirContext需要设置为Context.REFERRAL。如上所述,这可以
通过customConnectionParameters图传递。

举报

相关推荐

0 条评论