标签:liferay openldap sso 单点登录 cas
Liferay 的单点登录绝对是个难啃的骨头,更何况网上能搜到的基本都是些滥竽充数的文章,非常不负责任。
于是在自己搭通单点登录一条线之后,决定整理下思路并写出来,希望各位能别重蹈覆辙。
本文不介绍概念,只注重实现
软件版本:
Liferay : 6.1.1 CE GA2 OpenLdap for Windows :openldap-2.4.38-x86 Apache Directory Studio : Apache Directory Studio 2.0.0-M3 CAS : cas-server-3.5.2 Windows : 7 x64
不再讲述 LDAP 概念,只需知道 OpenLDAP 是 LDAP 协议的几个主流实现之一,重点是介绍如何在 windows 平台上安装和配置 OpenLDAP。
openLDAP官方网站:http://www.openldap.org/
openLDAP官网只提供了linux平台的相关安装文件,windows平台的安装包可以到以下一些网站下载:
http://www.userbooster.de/download/openldap-for-windows.aspx
http://sourceforge.jp/projects/openldapwin32/releases/
http://sourceforge.net/projects/openldapwindows/files/
include ../etc/openldap/schema/core.schema include ../etc/openldap/schema/cosine.schema include ../etc/openldap/schema/inetorgperson.schema pidfile ../var/run/slapd.pid loglevel -1 moduleload back_bdb.la database bdb suffix "dc=example, dc=com" rootdn "cn=jimbob, dc=example, dc=com" rootpw dirtysecret directory ../var/openldap-data # Indices to maintain for this directory # unique id so equality match only index uid eq # allows general searching on commonname, givenname and email index cn,gn,mail eq,sub # allows multiple variants on surname searching index sn eq,sub # sub above includes subintial,subany,subfinal # optimise department searches index ou eq # if searches will include objectClass uncomment following # index objectClass eq # shows use of default index parameter index default eq,sub # indices missing - uses default eq,sub index telephonenumber # other database parameters # read more in slapd.conf reference section cachesize 10000 checkpoint 128 15
这个安装版本中,不需要通过命令行启动,开始菜单里找到 OpenLDAP,并启动
一般教程到这里都会提示需要新建个 .ldif 文件,用来添加用户或者组织,其实刚开始大可不必纠结于这个文件以及里面的语法,因为完全可以使用 LDAP 可视化工具完成同样的工作。但毕竟写文档,这部分还是得写。
DIT 结构 – 如下图,可以理解为LDAP 的结构目录,就比如 Java Web应用的目录。
dn: dc=example,dc=com dc: example description: text whatever you want for description objectClass: dcObject objectClass: organization o: Example, Inc. dn: ou=people, dc=example,dc=com ou: people description: All people in organisation objectclass: organizationalunit dn: cn=Robert Smith,ou=people,dc=example,dc=com objectclass: inetOrgPerson cn: Robert Smith sn: smith uid: rjsmith userpassword: rJsmitH mail: rsmith@example.com description: swell guy ou: Human Resources
在E:\OpenLDAP\bin目录下输入以下指令用来导入 LDIF 文件,为什么要到这个目录,因为这个目录底下有ldapadd.exe,不然使用 ldapadd 指令会提示提示:’ldapadd’ 不是内部或外部命令,也不是可运行的程序或批处理文件
ldapadd -x -D "cn=jimbob,dc=example,dc=com" -f ./mydemo.ldif -w dirtysecret
接下来通过以下search 指令确认是否导入成功
ldapsearch -x -b "dc=example,dc=com" "(objectclass=*)"
Users
User Mapping – 用来映射 LDAP 内 user 属性与 Liferay 内user属性
Groups – 对应于 LDAP 里的 group
Export – 这个必须配置,不然无法将 Liferay 用户到处到 LDAP server,导致配置完成之后, Liferay 用户反而不能成功登录
[Liferay] Liferay 实现单点登录 - OpenLDAP
标签:liferay openldap sso 单点登录 cas
原文地址:http://blog.csdn.net/paranoid_android/article/details/40585507