為了測試方便起見,我們使用OpenLDAP做為範例,關於OpenLDAP的簡單使用方式,你可以參考此連結,若你使用Windows作業系統進行開發測試,請到此處下載Windows版本。另外,你會需要一個LDAP Client方便產生並修改使用者資料,我們這裡使用的是JXplorer,你可以使用任何熟悉的工具。
這裡我所使用的範例的base DN是dc=oracle,dc=com,如果你是重新建立一個新的OpenLDAP環境,可以修改slapd.conf檔案來去指定相關的suffix、rootdn與rootpw參數。如果你是使用現存環境的話,記得在接下來的範例之中,依據你環境中的base DN與密碼進行修正。
新建使用者與群組
下面我提供了一個簡單的LDIF檔案,你可以做些簡單的修改,並透過JXplorer將他餵入OpenLDAP之中:
dn: ou=people,dc=oracle,dc=com
ou: people
objectClass: top
objectClass: organizationalUnit
dn:cn=user1,ou=people,dc=oracle,dc=com
objectClass:inetOrgPerson
cn:user1
sn:user1
uid:user1
userPassword:welcome1
dn:cn=user2,ou=people,dc=oracle,dc=com
objectClass:inetOrgPerson
cn:user2
sn:user2
uid:user2
userPassword:welcome1
dn: ou=groups,dc=oracle,dc=com
ou: groups
objectClass: top
objectClass: organizationalUnit
dn: cn=testGroup,ou=groups,dc=oracle,dc=com
objectClass: top
objectClass: groupOfNames
cn: testGroup
member: cn=user2,ou=people,dc=oracle,dc=com
請注意,我在這裡面建立了兩個OU,一個DN是ou=people,dc=oracle,dc=com,代表了使用者,另一個是代表使用者群組的ou=groups,dc=oracle,dc=com。同時,我順便建立了user1與user2兩個使用者以及一個testGroup使用者群組。
從JXplorer你將看到這樣的畫面資訊:
特別注意,在BPM應用之中,你會用到很多額外的資訊,像是使用者的姓名、顯示名稱、職稱、Email、電話以及主管是誰...等等。因此,這些使用者所設定的objectClass最好是指定為inetOrgPerson。在簡單的建立了使用者之後,建議你可以透過LDAP Client連進去修改使用者完整的資訊。
這樣你的LDAP Server環境已經準備完成了,準備設定BPM Server的連接了!
設定BPM Server
首先,請登入WebLogic Console,並選擇【安全範圍】-->【myrealm】-->【提供者】。首先,你會看到兩個預設的認證提供者【DefaultAuthenticator】與【DefaultIdentityAsserter】,此時請按下新增按鍵,如下圖所示,新建一個OpenLDAP的認證提供者。
按下確定鍵之後,你會看到新的認證提供者已經產生了,請點選這個新的提供者,並選擇【提供者特有】進行設定:
在連線部分,請指定你OpenLDAP Server的主機hostname與port,並且指定所使用的密碼。
接下來是一堆我有修改的設定,請也依據修改:
使用者
使用者基本 DN: ou=people, dc=oracle, dc=com
名稱篩選中的使用者: (&(cn=%u)(objectclass=inetOrgPerson))
使用者物件類別: inetOrgPerson
群組
群組基本 DN: ou=groups, dc=oracle, dc=com
名稱篩選中的群組: (&(cn=%g)(objectclass=groupOfNames))
靜態群組
靜態群組物件類別: groupOfNames
成員 DN 篩選中的靜態群組 DN:(&(member=%M)(objectclass=groupOfNames))
完成之後,記得將你新建認證提供者的【控制旗標】設定為【SUFFICIENT】,如下圖所示:
同時,請將DefaultAuthenticator的控制旗標設定為【OPTIONAL】,並且重新排序各個提供者,將你所新建的認證提供者放到最上端。
重新啟動Server,這次你在myrealm之中,可以看到來自不同認證提供者的使用者:
恭喜你! 所以設定已經完成,你可以試試看用user1登入BPM Composer了! 你可以試試看在新的使用者上面測試之前我們介紹過的Multi-Tier審核流程囉!