使用Apache Directory 的LDPA連線JOSSO驗證

xuniji123發表於2008-04-11

使用Apache Directory LDPA連線JOSSO驗證

一、安裝Apache Directory Suite. 1

二、Apache Directory Studio(Client)連線Apache Directory Server(Server) 5

三、用Apache Directory Studio增加使用者和角色資訊的Entry. 8

四、配置Jossojosso-gateway-config.xml 15[@more@]

使用Apache Directory LDPA連線JOSSO驗證

一、安裝Apache Directory Suite. 1

二、Apache Directory Studio(Client)連線Apache Directory Server(Server) 5

三、用Apache Directory Studio增加使用者和角色資訊的Entry. 8

四、配置Jossojosso-gateway-config.xml 15

下載

下載地址:

雙擊安裝,一路next,記住Apache Directory Server伺服器的安裝路徑。

之中需要選擇JDK的安裝路徑,所以之前必須安置好JDK,此處為安裝的為JDK6,注意其預設找到的是jre,要該為jdk才行,如圖:

安裝最後,提示是否啟動LDAP服務,選擇是。確保服務啟動。在管理,服務管理中看到

注意安裝Apache Directory Serverinstancesdefaultconf目錄下的server.xml配置檔案,後面再客戶端Apache Directory Studio中建立連線時用到其中的DN和密碼等資訊。

連線Apache Directory Server(Server)

開啟Apache Directory Studio,切換到LDAP檢視模式下,如同

在左下角Connections視窗空白,點右鍵建立一個Connection,此處連線本地的Apache Directory Server。其中的Portserver.xml

<!-- The port to run the LDAP protocol on. --&gt

進行配置。

輸入認證資訊,這裡的資訊從之前提到的server.xml中獲得,比如其中Bind DN or userBind password分別為server.xml中的

uid=admin,ou=system

secret

的值。

點選Fetch Base DNs獲得Base DNFinish成功建立ClientServer的連線。

增加使用者和角色資訊的Entry

開啟剛才建立的Connection,新增如下的樹型資訊。

其中ou=Peopleou=Roles為新建的Entry,分別存放使用者的資訊和角色的資訊,其中角色資訊中包括該角色有哪些使用者。

新增過程:

新增ou=People

資訊如下

dn: ou=People, dc=example,dc=com

ou: People

objectClass: top

objectClass: organizationalUnit

在其上級dc=example,dc=com上右鍵,New Entry…

選擇預設,Next

選擇objectClass

完成ou=People,接下來在其中新增兩個使用者user1user2

dn: uid=user1,ou=People, dc=example,dc=com

objectClass: top

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

sn: User1 SN

cn: User1 CN

uid: user1

userpassword: user1pwd

mail: user1@josso.org

dn: uid=user2,ou=People, dc=example,dc=com

objectClass: top

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

sn: User2 SN

cn: User2 CN

uid: user2

userpassword: user2pwd

mail: user2@josso.org

ou=People其上右鍵,New Entry…

過程和之前一樣,只是選擇objectClass時,應選organizationalPersoninetOrgPerson

完成時得到如圖結果。

細心使用者發現沒有新增userpassword屬性。

由於在新增該Attribute時,系統發現去是密碼,所以要選擇HASH加密演算法,使用者使看不到密碼明文的,為了和Josso整合,筆者也對其進行了加密,採用的是MD5,然而後來在Josso的配置中同樣採用相同的MD5使用者登入時輸入的密碼也加密,以便和這裡的匹配,然而,就是不對,因為大小寫的問題吧,這裡的Attribute得到的是小寫的MD5結果,而Josso得到的是大寫的MD5,二者不一致,把筆者鬱悶了,根本不能用啊,要麼我就得改Josso的原始碼,讓其驗證時不區分大小寫。為了節約時間,筆者繞過這一屬性,在Josso中改用email為密碼,去掉密碼加密,讓使用者輸入郵箱來和這裡的email Attribute匹配即可。

同理增加user2資訊。

接著同理增加ou=Rolescn=role1cn=role2,並讓role1user1user2role2user2

dn: ou=Roles, dc=example,dc=com

ou: Roles

objectClass: top

objectClass: organizationalUnit

dn: cn=role1,ou=Roles, dc=example,dc=com

objectClass: top

objectClass: groupOfUniqueNames

cn: role1

uniqueMember: uid=user1,ou=People, dc=example,dc=com

uniqueMember: uid=user2,ou=People, dc=example,dc=com

dn: cn=role2,ou=Roles, dc=example,dc=com

objectClass: top

objectClass: groupOfUniqueNames

cn: role2

uniqueMember: uid=user2,ou=People, dc=example,dc=com

注意,其中的cnou等名稱在Josso配置中將用到。

josso-gateway-config.xml

1.修改中的內容如下:

org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore

com.sun.jndi.ldap.LdapCtxFactory

ldap://localhost:10389/

uid=admin,ou=system

secret

simple

<!-- Valid values are : SUBTREE, ONELEVEL --&gt

SUBTREE

ou=People,dc=example,dc=com

uid

ou=Roles,dc=example,dc=com

uniquemember

cn

uid=username,mail=password

mail=mail,cn=description

2.修改中的內容如下:

org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore

com.sun.jndi.ldap.LdapCtxFactory

ldap://localhost:10389/

uid=admin,ou=system

secret

simple

<!-- Valid values are : SUBTREE, ONELEVEL --&gt

ONELEVEL

ou=People,dc=example,dc=com

uid

ou=Roles,dc=example,dc=com

uniquemember

cn

uid=username,mail=password

mail=mail,cn=description

SUBTREE

注意以上兩步中的

uid=username,mail=password

mail=password而不是userpassword=password,原因之前已經說明,這樣的話就要求使用者輸入密碼為使用者的email時才能登入。

同時,注意以上兩步中的ldap://localhost:10389/

uid=admin,ou=system

其中ldap://localhost:10389/可以在Apache Directory Studio

Root DSE上右鍵,檢視Properties獲得。

其中的uid=admin,ou=systemApache Directory Server中的server.xml一致。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8271432/viewspace-1002322/,如需轉載,請註明出處,否則將追究法律責任。

相關文章