[opencms-dev] OpenCms7.0.5-CAS3.2.1.1-LDAP module released

Shi Yusen shiys at langhua.cn
Thu Sep 18 20:11:15 CEST 2008


Hi list,

I'm glad to annonce the release of OpenCms7.0.5-CAS3.2.1.1-LDAP module. 

Thanks Olivier CHIROUZE from Volvo Information Technology contribute
this release!

Olivier developed the modules of this release in OpenCms7.0.5 and
ActiveDirectory environment, and I tested it in OpenCms7.0.5, CAS3.2.1.1
and OpenLDAP2.4.8.


The new module contains 2 version:
cn.langhua.opencms.ldap_1.0.4_opencms7.0.5_java1.4.zip for JDK 1.4
cn.langhua.opencms.ldap_1.0.4_opencms7.0.5_java1.5.zip for JDK 1.5


Source code and module download:
SVN access:
http://www.langhua.cn/langhua/modules/ldap/branch/
username: anon
password: anon

ViewVC access:
http://www.langhua.cn/viewvc/modules/ldap/branch/


Other improvements made by Olivier CHIROUZE including:
1. A ant task to build the module zip file
2. Choose the version of Java you want to compile in build.xml


Further Information:
1. This module uses the following processes to login:
LDAP authz:
User                          OpenCms                      LDAP
 |        userid/password        |                          |
 |--------------req------------->|          userid          |
 |                               |-----------req----------->|
 |                               |<----------res------------|
 |                               |          user dn         |
 |                               |    user dn/password      |
 |                               |-----------req----------->|
 |                               |<----------res------------|
 |<-------------res--------------|                          |


CAS + LDAP authz:
Client                  OpenCms                  CAS       LDAP
  |          a url         |                      |         |
  |----------req---------->|check permission      |         |
  |                     allowed?                  |         |
  |<---------res-----------|yes                   |         |
  |               not allowd. guest?              |         |
  |<---------res-----------|not guest             |         |
  |                a guest. has ticket?           |         |
  |                        |      to /login       |         |
  |               no ticket|---------req--------->|         |
  |<-----------------res--------------------------|         |
  |           username/password                   |         |
  |------------------req------------------------->|         |
  |                        |                      |<-authz->|
  |                        |                  logged in?    |
  |<-----------------res--------------------------|no       |
  |                        |    forward the url   |         |
  |                        |<--------res----------|yes      |
  |              a guest. has ticket?             |         |
  |                     yes|                      |         |
  |                   has CmsUser?                |         |
  |                      no|         read user info         |
  |                        |---------------req------------->|
  |                        |<--------------res--------------|
  |                 store user info               |         |
  |         the url        |                      |         |
  |<----------res----------|not a guest           |         |


2. Installation
Use OpenCms module import tool to install this module.
Use the following options to config this module.
Replace the /system/login/index.html with one sample
under /system/modules/cn.langhua.opencms.ldap/login/.

3. Configuration
There are 12 parameters of this module, you can change them in OpenCms
module management.
Attribute: a expression to mapping the username to an LDAP attribute,
such as uid=%u at langhua.cn or cn=Shi Yusen, default is uid=u%.

AuthenType: the authen type of LDAP server, default value is simple.

AuthenticationHandler: the handler to authen the user's login, can be
cn.langhua.opencms.ldap.cas.CmsCasAuthenticationHandler or
cn.langhua.opencms.ldap.openldap.CmsLdapAuthenticationHandler, default
is the LDAP one.

AutoUserRoleName: when a new user added according to the login server,
the default role type of this user. If empty, the user will be only in
the User group without any role.

BaseDN: the base DN of LDAP server, such as dc=example,dc=com. No
default value.

CasLoginUri: the uri to CAS login, default is /login.

CasUrl: the url to visit CAS server, default is
https://localhost:8443/cas.

CasValidateUri: the uri to CAS validate, default is /validate.

Filter: the filter to login LDAP server, default is (objectclass=*).

Scope: the scope to search LDAP, default is sub which means search
subtree from the BaseDN.

URL: the URL of the LDAP server, ldap://localhost:389.

UseCmsLoginWhenLDAPFail: When LDAP connection or login failed, whether
using OpenCms login instead. Default value is true.

4. Bug feedback
http://www.langhua.cn/bugzilla, please use firefox to get the right UI
language for you.
Or send email to this list.

5. Trouble shooting
You can change the configuration of this module in
${opencms.home}/WEB-INF/config/opencms-modules.xml.

If you're using OpenLDAP, you have to add BaseDN parameter something
like this:
                <param name="BaseDN">o=langhua,c=cn</param>
If you want your OpenLDAP case sensitive, you can use caseExactmatch,
for example:
                <param name="Attribute">uid:caseExactmatch:=%u</param>

Enjoy it.

Shi Yusen/Beijing Langhua Ltd.





More information about the opencms-dev mailing list