!in_array lijikt niet te werken
johan vermeire
19/11/2014 16:17:40in_array in onderstaande code lijkt niet te werken, en ik zie maar niet wat ik fout doe.
Het is een stukje van een login script van van een booking script (MRBS)
voorwaarden om toegang te krijgen zijn: $user moet bestaan ,dan heeft CAS je al toegelaten maar ik wil nog verdere filteren in mijn eigen script zodat studenten vb niet kunnen inloggen en mensen van een andere afdeling ook niet behalve als ze een uitzondering zijn.
Dus:
Ofwel ben je lid van van het department ofwel sta je op een lijst van speciale gebruikers, en je moet werknemer zijn.
Voldoe je niet kan je niet verder. -> return 0
Alles werkt zoals het moet maar het stuk met de $special_user niet,
$user zelf komt correct binnen (al getest).
Maar om de één of andere reden krijg ik steeds als return nul als het department niet klopt maar de user wel in de special user lijst staat.
Waarschijnlijk zit er een fout in mijn redenering.
$special_user[]='A';
$special_user[]='B';
if (!isset($user) or (!in_array($user, $special_user) and phpCAS::getAttribute('department')!='PS03')or (!in_array('ugentEmployee', (phpCAS::getAttribute('objectClass')) ) ) )
{
return 0;
}
Het is een stukje van een login script van van een booking script (MRBS)
voorwaarden om toegang te krijgen zijn: $user moet bestaan ,dan heeft CAS je al toegelaten maar ik wil nog verdere filteren in mijn eigen script zodat studenten vb niet kunnen inloggen en mensen van een andere afdeling ook niet behalve als ze een uitzondering zijn.
Dus:
Ofwel ben je lid van van het department ofwel sta je op een lijst van speciale gebruikers, en je moet werknemer zijn.
Voldoe je niet kan je niet verder. -> return 0
Alles werkt zoals het moet maar het stuk met de $special_user niet,
$user zelf komt correct binnen (al getest).
Maar om de één of andere reden krijg ik steeds als return nul als het department niet klopt maar de user wel in de special user lijst staat.
Waarschijnlijk zit er een fout in mijn redenering.
$special_user[]='A';
$special_user[]='B';
if (!isset($user) or (!in_array($user, $special_user) and phpCAS::getAttribute('department')!='PS03')or (!in_array('ugentEmployee', (phpCAS::getAttribute('objectClass')) ) ) )
{
return 0;
}
Gewijzigd op 19/11/2014 16:23:35 door Johan vermeire
Er zijn nog geen reacties op dit bericht.