Liferay 的單點登陸絕對是個難啃的骨頭,更況且網上能搜到的基本都是些濫竽充數的文章,很不負責任。html
因而在本身搭通單點登陸一條線以後,決定整理下思路並寫出來,但願各位能別重蹈覆轍。linux
本文不介紹概念。僅僅注重實現數據庫
軟件版本號:apache
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。windows
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/
app
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。並啓動ide
通常教程到這裏都會提示需要新建個 .ldif 文件,用來加入用戶或者組織,事實上剛開始大可沒必要糾結於這個文件以及裏面的語法。因爲全然可以使用 LDAP 可視化工具完畢相同的工做。工具
但畢竟寫文檔。這部分仍是得寫。ui
DIT 結構 – 例如如下圖,可以理解爲LDAP 的結構文件夾,就比方 Java Web應用的文件夾。this
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=*)"
安裝以及配置步驟可以參考官方文檔https://directory.apache.org/studio/users-guide/ldap_browser/gettingstarted_download_install.html
左下 Connection 區域點擊右鍵加入 Connection。
注意 OpenLdap 的 Port 爲 389。
Users
User Mapping – 用來映射 LDAP 內 user 屬性與 Liferay 內user屬性
Groups – 相應於 LDAP 裏的 group
Export – 這個必須配置,否則沒法將 Liferay 用戶處處到 LDAP server,致使配置完畢以後, Liferay 用戶反而不能成功登陸