SquidGuard is a URL redirector used to use blacklists with the proxysoftware Squid. There are two big advantages to squidguard: it is fast and it is free.
LDAP Integration
Prerequisites
PHP must be compiled with LDAP support - ./configure --with-ldap
in order to use the LDAP module. You will probably have to install openldap-devel
in order to do that.
Bug Fix
Per this bug report on Drupal.org, you need to fix a couple of the LDAP module files to properly map LDAP groups to the users
In ldapauth.module
and ldapgroups.module
replace all:
user_save($user, $userinfo);
With:
$user = user_save($user, $userinfo);
menu_rebuild();
And in ldapgroups.module
, replace (around line 244):
foreach ($user->ldap_drupal_roles as $role) {
_ldapgroups_deny_role($user, $role);
}
With:
foreach ($user->ldap_drupal_roles as $role) {
if (preg_match('/^[^=]*=([^,]*),.*$/', $role, $matches)) {
$role = $matches[1];
}
_ldapgroups_deny_role($user, $role);
}
Mapping only certain LDAP groups
Per the Advanced Configuration documentation of the ldap_integration module, all groups on the LDAP server are converted to Drupal roles when a user logs in. This might not be desirable if you only need a couple of the groups on your LDAP server mapped to your Drupal site.
Edit the modules/ldap_integration/ldapgroups.conf.php
file and specify your groups and their role names:
$GLOBALS['ldap_group_role_mappings'] = array(
// LDAP group => Drupal role
'cn=users,ou=Group,dc=example,dc=com' => 'Users',
'cn=IT,ou=Group,dc=example,dc=com' => 'SiteAdmins'
);
Add the specific groups that need to be recognized as Drupal roles and their role names. Note: Make sure that the last group-role mapping does not have a trailing comma ,
Uncomment the function ldapgroups_roles_filter
. Note: Uncommenting this function will cause the groups to be filtered through this function. The result is that only the groups specified in the global variable $GLOBALS['ldap_group_role_mappings']
will be parsed, ignoring the rest.
OS X Open Directory
How to authenticate against an OS X Server's Open Directory database
LDAP Integration settings
- Login procedure
- BaseDN -
cn=users,dc=domain,dc=com
- UserName attribute -
uid
- mail attribute -
mail
- BaseDN -
LDAP Groups settings
- Groups exist as LDAP entries where a multivalued attribute contains the members' CNs
- Nodes containing groups (one per line) -
cn=groups,dc=chroniclejournal,dc=com</em>
<li><em>Attribute holding group members</em> - memberUid
</ul>
To map the OD groups to Drupal groups, the format is <code>cn=groupname,cn=groups,dc=domain,dc=com
Technology:
- Log in to post comments