簡體   English   中英

ldap登錄表單有效,但需要添加活動目錄組訪問權限

[英]ldap login form works, but need to add active-directory group access

我創建了一個表單,要求您登錄,然后針對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()手冊

返回搜索結果標識符或錯誤時為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';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM