Tags:
ldap1Add my vote for this tag create new tag
view all tags

Question

I am new to twiki and not sure how I can use existing LDAP groups from our Novell eDirectory to restrict access control. Any guidelines will be very helpful

Ali

Environment

TWiki version: TWikiRelease02Sep2004
TWiki plugins: DefaultPlugin, EmptyPlugin, InterwikiPlugin
Server OS: Suse Linux 9.0
Web server: Apache 2.0.49
Perl version: 5.8.3
Client OS: Windows 2000
Web Browser: Internet Explorer
Categories: Htaccess, Permissions, Authentication, Security, Topic revisions

-- AliBalandy - 10 Sep 2005

Answer

ALERT! If you answer a question - or someone answered one of your questions - please remember to edit the page and set the status to answered. The status selector is below the edit box.

I would imagine that such a feature would need to somehow plug into Twiki's core authorization code - and I am not aware (nor have I seen) any plugin callback handlers that specifically deal with groups. The function checkAccessPermission( $type, $wikiName, $text, $topic, $web ) deals with user permissions and I suspect somewhere buried deep is a function that expands a group prior to invoking this function. Someone on the Codev team will likely have to elaborate but I see alot of value in modularizing Twiki authorization . Note that Twiki already supports Authentication via LDAP by virtue of supporting Apache's ability to proxy for Twiki. It is the Authorization piece that is missing.

Perhaps one of the Dakar gurus would be willing to divulge whethor or not Dakar has an improved Authorization model.

-- SteveRJones - 11 Sep 2005

Good info Steve.

1. Authentication: All what TWiki needs is the REMOTE_USER environment variable, which is set by Apache. For LDAP authentication use the auth_ldap module (make sure to compile the latest version 1.6). TWiki can map between login name ("jsmith") and WikiName ("JohnSmith"). TWikiUserAuthentication has more.

2. Authorization: TWiki does its own group handling based on group topics, see TWikiAccessControl. A simple LDAP integration would be to run a script from a cron job that creates/updates TWikiGroups topics based on LDAP data. This can be done totally outside of TWiki if you do not worry about audit trail (revision control) of group topics, e.g. you could simply create file twiki/data/Main/EngineeringGroup.txt. A cleaner solution is to create a Plugin or Add-on that does a proper topic update.

-- PeterThoeny - 13 Sep 2005

Peter, yes creating a timed import of LDAP groups can easily be done, however, do so would not give one the transparency that I believe alot of people would desire (including me!) We wouldn't want people digging/hacking through the code so it would be handy to provide an API that supported referrals to an authority other than the TWikiGroups topic. I'm not sure, though, how clean the group lookup code is. Once an API is provided writing an LDAP plugin would then be, I would imagine, easy.

Thoughts?

-- SteveRJones - 13 Sep 2005

I was referring to a simple solution with the existing code. Yes, a Plugin API to manipulate groups would be a better solution. You can add an enhancement request in the Codev web if you wish to discuss this.

-- PeterThoeny - 14 Sep 2005

Yes, I see your perspective - the question is really about what could be done right now. I'm not sure if the Ldap plugin can do something like this - perhaps it would be worth exploring.

Ali, it looks like this is a manual process right now. There are examples of ldap querying tool (like an Ldap plugin) but nothing that will query for an ldap group and import the members into TWiki.

-- SteveRJones - 19 Sep 2005

Has this become an automated process yet? The ability to assign ACLs by LDAP groups is a killer need for me.

-- ErnieOporto - 27 Jun 2007

What if you use LdapNg inside group topics to expand out the group list via LDAP? I'm thinking about doing that but my problem is that some of the groups are very large (as in 10,000 or more members). My simple-minded perusal of the access control code doesn't indicate that it is very pluggable for group stuff.

-- RobertWithrow - 17 Jul 2007

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r8 - 2007-07-17 - RobertWithrow
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.