I am trying to setup groups and SSO login. I have SSO working fine but I cannot see to get it to see groups.
I am using PHP 7, IIS 8, Windows Server 2012, authenticating with a Server 2008 DC. Nothing shows up when I do=check for groups.
I believe I have made sure all the right extensions are activated. Here is my local.protected.php
Please let me know if you think I have missed anything or done anything egregious.
<?php
// general DokuWiki options
$conf['useacl'] = 1;
$conf['disableactions'] = 'register,resendpwd,profile';
$conf['authtype'] = 'authad';
$conf['plugin']['authad']['account_suffix'] = '@domain.com';
$conf['plugin']['authad']['base_dn'] = 'dc=domain,dc=CORP';
$conf['plugin']['authad']['domain_controllers'] = '
server@domain.com';
//
$conf['plugin']['authad']['admin_username'] = 'Administrator';
$conf['plugin']['authad']['admin_password'] = 'pass';
$conf['plugin']['authad']['sso'] = 1;
$conf['plugin']['authad']['real_primarygroup'] = 1;
//$conf['plugin']['authad']['use_ssl'] = 1; // Don't have ssl/tls options enabled at the same time.
//$conf['plugin']['authad']['use_tls'] = 1; // Only one of them.
$conf['plugin']['authad']['debug'] = 1;
$conf['plugin']['authad']['recursive_groups'] = 1; // If number of groups in AD is large switching to 0 will improve performance, but indirect membership will not work
$conf['plugin']['authad']['additional'] = 'office'; // additional attributes to fetch
// warn user about expiring password this many days in advance (in version 2012-03-10 and higher):
$conf['plugin']['authad']['expirywarn'] = 5;
$conf['manager'] = '@LDAPGROUPNAME';
$conf['superuser'] = '@wikiadmin';
acl.auth.php:
# acl.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Access Control Lists
#
# Auto-generated by install script
# Date: Wed, 07 Dec 2016 14:25:46 +0000
* @ALL 0
* @user 8
* @wikiadmin 1
Here is the PHP error I get :
[08-Dec-2016 11:34:14 America/New_York] PHP Warning: join(): Invalid arguments passed in C:\inetpub\wwwroot\dokuwiki\inc\infoutils.php on line 216
Line 216 = msg('You are part of the groups '.join($INFO['userinfo']['grps'],', '),0);
That whole if statement:
if($INFO['userinfo']['name']){
msg('You are currently logged in as '.$INPUT->server->str('REMOTE_USER').' ('.$INFO['userinfo']['name'].')',0);
msg('You are part of the groups '.join($INFO['userinfo']['grps'],', '),0);
}else{
msg('You are currently not logged in',0);
}