[horde] Login process loop with composite driver http/ldap auth.
finalbeta
finalbeta at finalbeta.net
Sun Oct 23 21:29:24 UTC 2016
Hello everyone.
Thank you for this great product. I'm hoping to get some assistance with
the composite auth driver.
I've successfully tested horde with "http (Basic authentication/.htpasswd)
authentication" and with "LDAP authentication" separately.
Now I wish to combine the two so I can let users automatically logon to the
system (using the basic auth) and being able to manage them by connecting
to the LDAP.
When I do, the Horde logon process is looping me between index.php and
login.php ( and I don't know why. )
I'm running Horde v5.2.12 with Kronolith v4.2.18 and nag 4.2.11 on CentOS7
and PHP 5.4.16/Apache.
this is my auth config (I've changed some values as not to disclose some
information/please let me know if you need the entire config, I didn’t want
to make the mail too long):
$conf['auth']['admins'] = array('someuser', 'alsosomeuser');
$conf['auth']['checkip'] = true;
$conf['auth']['checkbrowser'] = true;
$conf['auth']['resetpassword'] = false;
$conf['auth']['alternate_login'] = false;
$conf['auth']['redirect_on_logout'] = false;
$conf['auth']['list_users'] = 'both';
$conf['auth']['driver'] = 'composite';
$conf['auth']['params']['admin_driver']['driver'] = 'ldap';
$conf['auth']['params']['admin_driver']['params'] = array(
'hostspec' => array('172.16.xXx.xXx'),
'port' => 389,
'tls' => false,
'version' => '3',
'binddn' => 'SOMEDOMAIN\horde_link',
'bindpw' => 'fSomePWDK',
'bindas' => 'admin',
'basedn' => 'OU=Agents,OU=SOMEOU,DC=SOMEDOMAIN,DC=LOCAL',
'scope' => 'sub',
'ad' => true,
'uid' => 'userPrincipalName',
'encryption' => 'ssha',
'newuser_objectclass' => array('shadowAccount', 'inetOrgPerson'),
'filter' => '(&(objectCategory=person)(objectClass=user))',
'filter_type' => 'filter',
'password_expiration' => 'no'
);
$conf['auth']['params']['auth_driver']['driver'] = 'http';
$conf['auth']['params']['auth_driver']['params'] = array(
'show_encryption' => true,
'encryption' => 'ssha'
);
$conf['auth']['params']['count_bad_logins'] = false;
$conf['auth']['params']['login_block'] = false;
$conf['auth']['params']['login_block_count'] = 10;
$conf['auth']['params']['login_block_time'] = 5;
If I update the configuration while being logged in to horde as an admin. I
can in fact list the users in ldap. When I log out and try to log in again,
the login process loops. (redirect loop).
I've had a look at the code, but I might fail to grasp some things here.
In login.php I see that the user does get authenticated and at line +-250
index.php is required (I added some own debug lines at the time to make
sure that was actually happening)
if ($is_auth) {
Horde::log(sprintf('Authenticated in logon.php %s',
$is_auth),'NOTICE');
if (!$vars->app) {
Horde::log(sprintf('Taking me back to the
index'),'NOTICE');
require HORDE_BASE . '/index.php'; // <-- this line takes me back to
index.php
exit;
But then I can see this inside the log output every time:
HORDE [horde] Redirect to login page if there is no incomming URL and
nobody is authed url below is prepended!! [pid 20869 on line 62 of
"/usr/share/horde/index.php"]
So index.php is sending me back to login.php and so forth...
Am I doing something wrong in my configuration? Is something else going on?
(Is http and ldap auth not a supported combination?)
Thank you for any assistance.
Best regards,
Jochen
More information about the horde
mailing list