私はadldap http://adldap.sourceforge.net/を使用しています
そして、ページからページへとセッションを渡し、セッション内のユーザー名が特定のメンバー グループのメンバーであることを確認しています。この例では、それは STAFF グループです。
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once('/web/ee_web/include/adLDAP.php');
$adldap = new adLDAP();
session_start();
$group = "STAFF";
//$authUser = $adldap->authenticate($username, $password);
$result=$adldap->user_groups($_SESSION['user_session']);
foreach($result as $key=>$value) {
switch($value) {
case $group:
print '<h3>'.$group.'</h3>';
break;
default:
print '<h3>Did not find specific value: '.$value.'</h3>';
}
if($value == $group) { print 'for loop broke'; break; }
}
?>
それは私にエラーを与えます: 警告: 15 行目の foreach() に無効な引数が指定されました。これは次のコード行です: foreach($result as $key=>$value) {
コード $authUser = $adldap->authenticate($username, $password); のコメントを外すと、適切なユーザー名とパスワードを入力すると、正常に機能しますが、セッションが有効であるため、必要はありません。valid_session 内に保存されているユーザー名が STAFF グループの一部であるかどうかを確認したいだけです。
なぜそれが私にその問題を与えるのでしょうか?