ldap登录表单工作,但需要添加活动目录组访问

问题描述:

我创建了一个表单,要求您登录,然后验证用户/通过ldap服务器/活动目录,如果成功,它会创建一个会话,这将在每一页上检查。ldap登录表单工作,但需要添加活动目录组访问

现在我想检查会话,这是登录人员的用户名,并使用ldap_search搜索它们,以便我可以检查它们属于哪个组,并通过函数将该组传递给确认他们可以查看该页面。

每个页面都可以被某个或某些用户组访问,这些用户组是在Active Directory中定义的。

我不确定如何使用ldap_search来做到这一点,或者这可能只是我尝试解决的难题之一。

任何帮助表示赞赏 - 谢谢!

在下面的示例代码中,它看到用户是否属于学生活动目录组(我不知道这个代码是否有效,但它应该让你知道我想完成什么)。

$filter = "CN=StudentCN=Users,dc=domain,dc=control"; 

$result = ldap_search($ldapconn,$filter,$valid_session_username); 

if($result == TRUE) { 
print $valid_session_username.' does have access to this page'; 
} else { 
print $valid_session_username.' does NOT have access to this page'; 
} 

php.net ldap_search() manual

返回一个搜索结果上错误 标识符或FALSE引用。

你必须使用ldap_count_entries()来检查LDAP搜索竟然发现条目:

$filter = "CN=StudentCN=Users,dc=domain,dc=control"; 
$result = ldap_search($ldapconn,$filter,$valid_session_username); 

$found = false; 
if ($result !== false) { 
    $count = ldap_count_entries ($ldapconn, $result); 
    if ($count !== false && $count > 0) { 
    $found = true; 
    } 
} 

if ($found === true) { 
    print $valid_session_username.' does have access to this page'; 
} else { 
    print $valid_session_username.' does NOT have access to this page'; 
}