Starting with Hayes, MindTouch can be integrated with an external an LDAP directory server such as OpenLDAP, MS Active Directory, Novell eDirectory. This allows companies to have users already setup with their directories to start using MindTouch immediately without having to create user accounts. As a user successfully logs in to MindTouch using their LDAP credentials, the account is created and syncronized with the info from the directory.
You should see that the service was added and reset successfully.
That should be it. Next time you go to the login page you'll see the service listed and you'll be able to authenticate with the directory.
Try the following settings (work fine with Active Directory on a SBS 2003) if you are facing error 500 or having trouble with the above mentioned configuration:
searchbase DC=domainname,DC=local hostname servername.domainname.local userquery samAccountName=$1 bindingdn $1@domainname.local
(work in progress -- please add to this table if you have issues with the given settings but find one that works for you
| Microsoft Active Directory | Novell eDirectory | OpenLDAP | Mac OS X Server | |
| bindingdn | $1@sales.acme.com | CN=$1,DC=sales,DC=acme,DC=com | CN=$1,DC=sales,DC=acme,DC=com | uid=$1,cn=users,dc=your,dc=server,dc=name |
| userquery | samAccountName=$1 | CN=$1 | CN=$1 | uid=$1 |
| groupquery (available in 1.8.3) | (&(cn=$1)(objectClass=group)) | (&(cn=$1)(objectClass=group)) or (&(cn=$1)(objectClass=groupOfNames)) | (&(cn=$1)(objectClass=group)) | (&(objectClass=posixGroup)(cn=$1)) |
| groupqueryall (available in 1.8.3) | (objectClass=group) | (objectClass=group) | (objectClass=group) | (objectClass=posixGroup) |
| groupmembersattribute (available in 1.8.3) | memberOf | groupMembership | ||
| groupmembershipquery (available in 8.05.2) | (&(uniqueMember=$1)(objectClass=groupOfUniqueNames)) | (&(uniqueMember=$1)(objectClass=groupOfUniqueNames)) groupmembershipquery (&(member=uid=$1)(objectClass=groupOfNames)) |
(&(memberUid=$1)(objectClass=posixGroup)) |
Take a look here if you have a custom user database (non-LDAP) that you'd like to integrate with.
c22mort wrote a great guide for Novell eDirectory users here: http://forums.opengarden.org/showthread.php?p=14042
Q: My directory service requires all connections to be authenticated. Since I never hardcoded any system account, what credentials are used to allow LDAP queries?
A: The login screen uses the credentials provided by the user to attempt authentication and to retrieve user/group info. The control panel user/group management screens ask for the credentials to use that are not stored anywhere.
Q: I've setup LDAP correctly and it looks like my users are able to authenticate but are not allowed to login with the message "This user does not have access to login to MindTouch. Please contact your site administrator"
A: Read the two FAQ's on external account rights from step 8 above.
Q: I'm using Novell eDirectory and I cant get groups to work
A: We found some issues in the way groups are being looked up for eDirectory. This will be fixed in 1.8.3. Please refer to http://forums.opengarden.org/showthread.php?t=890 for a fix until then
Q: When adding a group you get an error: Group 'XXX' not found in the external authentication provider.
A: This may happen on Active Directory when your CN doesn't match your sAMAccountName (windows 2000 name). Either change your sAMAccountName to the same as your group name or adjust your groupquery setting. Refer to this forum post.
A simple way to troubleshoot LDAP-related issues is to ensure that the LdapAuthentication service is able to communicate to your directory correctly. You may do this by going to the Control Panel -> Service Management and getting the URI for the LDAP Authentication service you added. You can then use a browser to interact with your directory through this service. For example, if your LDAP Authentication service URI is http://wiki.acme.org/@api/deki/services/11 you can attempt to authenticate and get user info by going to http://wiki.acme.org/@api/deki/services/11/users/maxm where maxm is the user you want to lookup. It should ask you for credentials which it will use to create the bind to the directory. To see the groups in the domain you can go to http://wiki.acme.org/@api/deki/services/11/groups.
NOTE: If you are using Mindtouch 2009 the link to troubleshoot would now be: http://wiki.acme.org/@api/deki/servi.../11/users/maxm
If you're having problems having LDAP accept your username/password you can ensure that it's receiving your credentials correctly by enabling trace logging. You can do this by editing your mindtouch.host.exe.config and at the bottom use <level value="TRACE" />.
If you suspect a searchbase configuration issue, the Active Directory Explorer allows you to visually see the Active Directory tree structure.
In at least one instance - the MindTouch running on the same server would be denied access to the LDAP database, causing connection errors even when everything is connected and configured properly.
To test: Suspend the VM, move your VM anywhere else, and test (good first test is the @api url).
SSL support has been added in 8.05.2. It requires a valid certificate on the server that is trusted by the ldap client. If you're unable to connect and you suspect it's a cert issue, you can try setting ssl-ignore-cert-errors to 'true' to disregard and certificate related errors. If you get a "SSL Provider not found" error, you should download the new Novell.Directory.Ldap.dll and replace the file in your wiki's bin directory (new version is included in MindTouch 8.07). Make sure you have trusted certs installed if you're having certificate related issues. More info on this forum thread. (todo: FAQ/howto for installing trusted root certs).
If you're struggling take a look the posts on the ldap forum. Try the troubleshooting steps above and search the forum before posting.
Drop by the MindTouch irc channel at irc.freenode.net #mindtouch
| File | Version | Size | Modified | |
|---|---|---|---|---|
| ||||
| Images 1 | ||
|---|---|---|
Screenshot of LDAP service settings as setup in the MindTouch officeMindtouchLdapSettingsScreenshot.PNG | ||
Copyright © 2011 MindTouch, Inc. Powered by
I'll try to get it into the next 1.8.3 release. But meanwhile, if you're technical enough you can edit the source and recompile to set your correct port number.
http://addicted-to-it.blogspot.com/2008/01/dekiwiki-active-directory-integration.html
userquery uid=$1
hostname your.server.name
bindingdn uid=$1,cn=users,dc=your,dc=server,dc=name
searchbase cn=users,dc=your,dc=server,dc=name
edited 17:50, 18 Jul 2008