以下属性可以设置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和queryUserById | org.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图传递。