1. LDAP简介
LDAP(轻量级目录访问协议,Light weight DirectoryAccess Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP 之上的访问协议—LDAP。
LDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN (Distinguished Name)的属性(Attribute),DN是用来引用条目的,DN相当于关系数据库表中的关键字(Primary Key)。属性由类型(Type)和一个或多个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。类型的一个例子就是mail,其值将是一个电子邮件地址。
LDAP的信息是以树型结构存储的,在树根一般定义国家(c=CN)或域名(dc=com),在其下则往往定义一个或多个组织 (organization)(o=Acme)或组织单元(organizational units)(ou=People)。一个组织单元可能包含诸如所有雇员、大楼内的所有打印机等信息。此外,LDAP支持对条目能够和必须支持哪些属性进行控制,这是有一个特殊的称为对象类别(objectClass)的属性来实现的。该属性的值决定了该条目必须遵循的一些规则,其规定了该条目能够及至少应该包含哪些属性。例如:inetorgPerson对象类需要支持sn(surname)和cn(common name)属性,但也可以包含可选的如邮件,电话号码等属性。
1.1. LDAP对应简称
l organization(组织-公司)
l ou – organization unit(组织单元-部门)
l c - countryName(国家)
l dc - domainComponent(域名)
l sn – suer name(真实名称)
l cn - common name(常用名称)
1.2. Open LDAP的配置
1. 连接信息
默认安装的Open LDAP连接信息如下:
端口号:389
Base:dc=maxcrc,dc=com
管理员用户名:cn=Manager,dc=maxcrc,dc=com
密码:secret
用户可以修改Open LDAP安装目录下的slapd.conf文件对Base和Account信息进行修改:
database bdb
suffix "dc=maxcrc,dc=com"
rootdn "cn=Manager,dc=maxcrc,dc=com"
2. 目录信息
通过LDAP Admin客户端,如下图建立用户目录和组目录。
建立了四个用户(ckickens,jcooper,jestein,wfaulk),两个用户组(Administrators,SalesQuoteLab)。组与用户的关系如下图所示:
Administrators组:
l SalesQuoteLab组:
2. WebLogic配置
以下将Open LDAP配置到WebLogic的域安全领域当中。
1. 进入weblogic console后,点击“安全领域”,再点击“myrealm”
2. 选择“提供程序”标签页,在“验证”标签页中,点击“新建”按钮
3. 在“提供程序”页面中填写验证提供程序的名称和选择类型,这里类型选择“OpenLDAPAuthenticator”,并点击“确定”
4. 点击列表中新建的验证提供程序
5. 选择提供特定程序标签页,填写Open LDAP服务器信息
要填写的信息包括:
l 主机:LDAP服务器的服务器名或IP
l 端口:LDAP服务器端口号,这里默认389
l 主用户:cn=Manager,dc=maxcrc,dc=com
l 身份证明/确认身份证明:secret
l 用户基本DN:ou=SalesQuoteLab,ou=Lab,dc=maxcrc,dc=com(本测试用例中,所有的LDAP用户都建立在ou=SalesQuoteLab,ou=Lab,dc=maxcrc,dc=com之下)
l 选中“将检索到的用户名用作主用户”
l 组基本DN:o=Group,dc=maxcrc,dc=com(本测试用例中,所有的LDAP组都建立在o=Group,dc=maxcrc,dc=com)
填写完毕,点击“确定”按钮。
6. 选择“共用”标签,将“控制标记”选择为“SUFFICIENT”,点击“保存”
7. 重新回到“提供程序”页面,点击“重新排序”
8. 将新增加的Open LDAP验证程序移动到列表的最顶端,并点击“确定”
9. 重新回到“提供程序”页面,在列表中选择默认提供程序“DefaultAuthenticator”,修改控制标记为“SUFFICIENT”,并点击“保存”
如果不进行该操作,则Open LDAP用户无法登录Workspace和Composer,但是可以登录WebLogic Console。
10. 重新启动WebLogic Domain,并重新登录WebLogic Console,能够在安全领域->myrealm->用户和组页面看到Open LDAP导入的用户信息
3. BPM应用Open LDAP用户
通过上述设置,就可以用Open LDAP用户进行BPM Workspace和Process Composer的操作了。
需要注意的是,因为在从管理页面的角色设置中,我们可以看到BPMProcessAdmin所关联的成员为Administrators。
所以,只有在Open LDAP中属于Administrators用户组的用户才能够在Workspace中进行管理页面的操作,非Administrators组用户没有该页面的权限。
jcooper用户属于Administrators用户组:
jstein用户不属于Administrators用户组:
另外,在设置了Open LDAP验证提供程序之后,原有WebLogic默认的验证提供程序用户将无法登录Workspace和Composer,在Workspace的管理界面的角色设置中,也只能查到Open LDAP验证提供程序的用户。