User Authentication
XWiki supports several different authentication mechanisms for authenticating users:Form Authentication
TODOLDAP Authentication
Generic LDAP configuration
In order to enable the LDAP support you have to change the authentication method in WEB-INF/xwiki.cfg as follows:## Turn LDAP authentication on - otherwise only XWiki authentication ## 0 : disable ## 1 : enable xwiki.authentication.ldap=1 ## set LDAP as authentication service xwiki.authentication.ldap.authclass=com.xpn.xwiki.user.impl.LDAP.XWikiLDAPAuthServiceImpl
## LDAP Server (Active Directory, eDirectory, OpenLDAP, etc.)
xwiki.authentication.ldap.server=156.58.101.204
xwiki.authentication.ldap.port=389
## LDAP login, empty = anonymous access, otherwise specify full dn
## {0} is replaced with the username, {1} with the password
xwiki.authentication.ldap.bind_DN=cn={0},department=USER,department=INFORMATIK,department=1230,o=MP
xwiki.authentication.ldap.bind_pass={1}
#-# Force to check password after LDAP connection
#-# 0: disable
#-# 1: enable
xwiki.authentication.ldap.validate_password=0
## only members of the following group will be verified in the LDAP
## otherwise only users that are found after searching starting from the base_DN
xwiki.authentication.ldap.user_group=cn=developers,ou=groups,o=MegaNova,c=US
## base DN for searches
xwiki.authentication.ldap.base_DN=
department=USER,department=INFORMATIK,department=1230,o=MP
## specifies the LDAP attribute containing the identifier to be used as the XWiki name (default=cn)
xwiki.authentication.ldap.UID_attr=cn
## retrieve the following fields from LDAP and store them in the XWiki user object (xwiki-attribute=ldap-attribute)
xwiki.authentication.ldap.fields_mapping=last_name=sn,first_name=givenName,fullname=fullName,email=mail,ldap_dn=dn
# on every login update the mapped attributes from LDAP to XWiki otherwise this happens only once when the XWiki account is created.
xwiki.authentication.ldap.update_user=1
## maps XWiki groups to LDAP groups, separator is "|"
xwiki.authentication.ldap.group_mapping=XWiki.XWikiAdminGroup=cn=AdminRole,ou=groups,o=MegaNova,c=US|\
XWiki.Organisation=cn=testers,ou=groups,o=MegaNova,c=US
## time in seconds after which the list of members in a group is refreshed from LDAP (default=3600*6)
xwiki.authentication.ldap.groupcache_expiration=21800
## - create : synchronize group membership only when the user is first created
## - always: synchronize on every login
xwiki.authentication.ldap.mode_group_sync=always
## if ldap authentication fails for any reason, try XWiki DB authentication with the same credentials
xwiki.authentication.ldap.trylocal=1
## SSL connection to LDAP server
## 0 : normal
## 1 : SSL
xwiki.authentication.ldap.ssl=1
## The keystore file to use in SSL connection
xwiki.authentication.ldap.ssl.keystore=LDAP Configuration for Active Directory
Here are values of the properties you need to set if your LDAP server implementation is Miscrosoft Active Directory:- ldap_server: name/IP of AD server machine
- ldap_port: port (e.g. 389)
- ldap_base_DN: name of root DN (e.g. dc=ad,dc=company,dc=com)
- ldap_bind_DN: domain{0} (e.g. ad{0} where {0} will be replaced by username during validation)
- ldap_bind_pass: {1} (where {1} will be replaced by password during validation)
- ldap_UID_attr: sAMAccountName
- ldap_fields_mapping: name=sAMAccountName,last_name=sn,first_name=givenName,fullname=displayName,mail=mail,ldap_dn=dn
xwiki.authentication.ldap=1
xwiki.authentication.ldap.authclass=com.xpn.xwiki.user.impl.LDAP.XWikiLDAPAuthServiceImpl
xwiki.authentication.ldap.server=adserver
xwiki.authentication.ldap.port=389
xwiki.authentication.ldap.base_DN=dc=subdomain,dc=domain,dc=suffix
xwiki.authentication.ldap.bind_DN=subdomain\\{0}
xwiki.authentication.ldap.bind_pass={1}
xwiki.authentication.ldap.UID_attr=sAMAccountName
xwiki.authentication.ldap.fields_mapping=name=sAMAccountName,last_name=sn,first_name=givenName,fullname=displayName,mail=mail,ldap_dn=dneXo Authentication
The eXo authentication is used automatically by adding/editing the xwiki.exo=1 property in WEB-INF/xwiki.cfg.Custom Authentication
This allows plugging to any existing authentication mechanism such as SiteMinder, etc. To configure a custom authentication do the following:- Implement the XWikiAuthService interface.
- Edit the WEB-INF/xwiki.cfg file and add a xwiki.authentication.authclass property pointing to your class. For example:
xwiki.authentication.authclass = com.acme.MyCustomAuthenticationService
xwiki.authentication.rightsclass = com.acme.MyCustomRightsService
Authentication parameters
You can set each of these parameters by setting:xwiki.authentication.~~param_name~~=~~param_value~~
| Name | Optional | Allowed values | Default value | Description |
|---|---|---|---|---|
| encryptionKey | No(1) | ? | n/a | Set the Encryption Key used to create a secret key, the secret key is passed to the Cipher object to be used during encryption and decryption of cookie values. |
| validationKey | No(2) | ? | n/a | Set the Validation Key used to generate hash value; the hash value is stored with the cookie and used to verify that the cookie has not been tampered with. |
| cookiedomains | Yes | String | Server host name | Which host(s) should your cookies be sent to; use only if you want to share cookies across domains, otherwise should be commented out |
| cookielife | Yes | Number | 14 | Number of days cookies take to expire |
| cookiepath | Yes | String | / | The webapp path that XWiki cookies should be sent to; if you have anything else running on your web server, this should be set to /xwiki |
| default_page | Yes | String | /bin/view/ Main/WebHome | Page to redirect to if xredirect parameter is not set |
| encryptionalgorithm | Yes | ? | ? | Set the Encryption Algorithm used to encrypt and decrypt cookies |
| encryptionmode | Yes | ? | ? | Set the Encryption Mode used to encrypt and decrypt cookies |
| encryptionpadding | Yes | ? | ? | Set the Encryption Padding used to encrypt and decrypt cookies |
| errorpage | Yes | String | /bin/loginerror/ XWiki/XWikiLogin | Page to redirect to if there is an error logging in |
| loginpage | Yes | String | /bin/login/ XWiki/XWikiLogin | Page to redirect to when not logged in |
| loginsubmitpage | Yes | String | /loginsubmit/ XWiki/XWikiLogin | ? |
| logoutpage | Yes | String | /bin/logout/ XWiki/XWikiLogout | Page to redirect to after logged out |
| realmname | Yes | String | XWiki | Sets the realm name |
| protection | Yes | all, validation, encryption, none | all | Protection level for the "remember me" cookie functionality |
| unauthorized_code | Yes | ? | ? | ? |
| useip | Yes | true / false | true | Specify to use the IP address when encrypting the cookie data; if IP address changes will need to re-login. |
- Only required if protection = encryption or all (default)
- Only required if protection = validation or all (default)
Version 17.1 last modified by ThomasMortagne on 13/05/2008 at 12:14
Document data
Attachments:
No attachments for this document
Comments: 7
morism in the upper-right conner, but I beleive it should be MorisMoss.