本文整理汇总了PHP中ldap_list函数的典型用法代码示例。如果您正苦于以下问题:PHP ldap_list函数的具体用法?PHP ldap_list怎么用?PHP ldap_list使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ldap_list函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: search_uidspip
function search_uidspip ($filter,$ldap_server, $ldap_port, $dn) {
global $ldap_grp_attr;
// LDAP attributs
$ldap_grp_attr = array (
"cn",
"memberuid" );
$ds = @ldap_connect ( $ldap_server, $ldap_port );
if ( $ds ) {
$r = @ldap_bind ( $ds ); // Bind anonyme
if ($r) {
$result=@ldap_list ($ds, $dn["groups"], $filter, $ldap_grp_attr);
if ($result) {
$info = ldap_get_entries( $ds, $result );
if ($info["count"]) {
// Stockage des logins des membres des classes
// dans le tableau $ret
$init=0;
for ($loop=0; $loop < $info["count"]; $loop++) {
$group=split ("[\_\]",$info[$loop]["cn"][0],2);
for ( $i = 0; $i < $info[$loop]["memberuid"]["count"]; $i++ ) {
$ret[$init]["uid"] = $info[$loop]["memberuid"][$i];
$ret[$init]["cat"] = $group[0];
$init++;
}
}
}
ldap_free_result ( $result );
}
}
@ldap_close ( $ds );
}
return $ret;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:35,代码来源:accorder_comptes_lcs.php
示例2: getAllUsers
public function getAllUsers()
{
// Settings for LDAP
if ($this->container->hasParameter('ldap_host')) {
$ldapHostname = $this->container->getParameter("ldap_host");
$ldapPort = $this->container->getParameter("ldap_port");
$ldapVersion = $this->container->getParameter("ldap_version");
$baseDn = $this->container->getParameter("ldap_user_base_dn");
$nameAttribute = $this->container->getParameter("ldap_user_name_attribute");
$filter = "(" . $nameAttribute . "=*)";
$connection = @ldap_connect($ldapHostname, $ldapPort);
ldap_set_option($connection, LDAP_OPT_PROTOCOL_VERSION, $ldapVersion);
$ldapListRequest = ldap_list($connection, $baseDn, $filter);
// or throw exeption('Unable to list. LdapError: ' . ldap_error($ldapConnection));
$ldapUserList = ldap_get_entries($connection, $ldapListRequest);
}
// Settings for local user database
$repo = $this->getDoctrine()->getRepository('FOMUserBundle:User');
$users = $repo->findAll();
$all = array();
if ($this->container->hasParameter('ldap_host')) {
// Add Users from LDAP
foreach ($ldapUserList as $ldapUser) {
$user = new \stdClass();
$user->getUsername = $ldapUser[$nameAttribute][0];
$all[] = $user;
}
}
// Add Mapbenderusers from database
foreach ($users as $user) {
$all[] = $user;
}
return $all;
}
开发者ID:mapbender,项目名称:fom,代码行数:34,代码来源:FOMIdentitiesProvider.php
示例3: search
/**
* search ldap tree
* @param $filter ldap filter string to use
* @param string $ldap_scope scope either one or tree
* @return array|bool result list or false on errors
*/
private function search($filter, $ldap_scope = "tree")
{
$result = false;
if ($this->ldapHandle != null) {
// if we're looking at multple dn's, split and combine output
foreach (explode(";", $this->baseSearchDN) as $baseDN) {
if ($ldap_scope == "one") {
$sr = @ldap_list($this->ldapHandle, $baseDN, $filter, $this->ldapSearchAttr);
} else {
$sr = @ldap_search($this->ldapHandle, $baseDN, $filter, $this->ldapSearchAttr);
}
if ($sr !== false) {
$info = @ldap_get_entries($this->ldapHandle, $sr);
if ($info !== false) {
if ($result === false) {
$result = array();
$result['count'] = 0;
}
for ($i = 0; $i < $info["count"]; $i++) {
$result['count']++;
$result[] = $info[$i];
}
}
}
}
}
return $result;
}
开发者ID:nasaa0528,项目名称:core,代码行数:34,代码来源:LDAP.php
示例4: is_prof
function is_prof($login)
{
global $ldap_server, $ldap_port, $dn;
global $error;
$error = "";
$filter = "(&(cn=profs*)(memberUid={$login}))";
$ldap_groups_attr = array("cn", "memberUid");
/*-----------------------------------------------------*/
$ds = @ldap_connect($ldap_server, $ldap_port);
if ($ds) {
$r = @ldap_bind($ds);
if (!$r) {
$error = "Echec du bind anonyme";
} else {
// Recherche du groupe d'appartenance de l'utilisateur connecte
$result = @ldap_list($ds, $dn["groups"], $filter, $ldap_groups_attr);
if ($result) {
$info = @ldap_get_entries($ds, $result);
if ($info["count"]) {
$is_prof = true;
} else {
$is_prof = false;
}
}
}
}
@ldap_unbind($ds);
@ldap_close($ds);
return $is_prof;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:30,代码来源:init_users_lcs.php
示例5: getOrganizations
private function getOrganizations()
{
// Common functions
$common = new common();
// Ldap Connections
$ldap = $common->ldapConnect($this->ldap_host, $this->ldap_root_dn, $this->ldap_root_pw);
if ($ldap) {
$filter = "objectClass=organizationalUnit";
$justthese = array("ou");
$search = ldap_list($ldap, $this->ldap_context, $filter, $justthese);
$entry = ldap_get_entries($ldap, $search);
}
if ($entry['count'] > 0) {
foreach ($entry as $tmp) {
if ($tmp['ou'][0] != "") {
$result_ou[] = $tmp['ou'][0];
}
}
} else {
$result_ou[] = $this->ldap_context;
}
natcasesort($result_ou);
ldap_close($ldap);
return $result_ou ? $result_ou : '';
}
开发者ID:cjvaz,项目名称:expressomail,代码行数:25,代码来源:class.configMessenger.inc.php
示例6: searchonelevel
function searchonelevel($ldap, $base, $filter, $attrs, $minresults = 1, $maxresults = 999999)
{
$results = ldap_list($ldap, $base, $filter, $attrs);
$results or ldapdie($ldap, "ldap_list()");
$entries = ldap_get_entries($ldap, $results);
$entries or ldapdie($ldap, "ldap_get_entries()");
$entries["count"] <= $maxresults or ldapdie($ldap, "More than {$maxresults} object(s) match \"{$filter}\"");
$entries["count"] >= $minresults or ldapdie($ldap, "Could not find {$minresults} object(s) matching \"{$filter}\"");
return $entries;
}
开发者ID:chrlutz,项目名称:limux-gosa,代码行数:10,代码来源:ldap2fai-pxelinuxcfg-common.php
示例7: ldap_search_withScope
function ldap_search_withScope($ds, $basedn, $filter, $attrlist, $scope)
{
if ($scope == "base") {
$search = ldap_read($ds, $basedn, $filter, $attrlist);
} elseif ($scope == "one") {
$search = ldap_list($ds, $basedn, $filter, $attrlist);
} elseif ($scope == "sub") {
$search = ldap_search($ds, $basedn, $filter, $attrlist);
}
return $search;
}
开发者ID:ddrmoscow,项目名称:queXS,代码行数:11,代码来源:ldap-functions.php
示例8: readUsers
public static function readUsers($ldapconn)
{
$users = array();
$search = ldap_list($ldapconn, USER_DN, User::FILTER_USERS, array("cn", "mail", "displayName", "sn", "givenName", "memberOf"));
if (ldap_count_entries($ldapconn, $search) > 0) {
$entry = ldap_first_entry($ldapconn, $search);
do {
$users[] = User::readFromLdapEntry($ldapconn, $entry);
} while ($entry = ldap_next_entry($ldapconn, $entry));
}
return $users;
}
开发者ID:tmaex,项目名称:useradmin,代码行数:12,代码来源:user.inc.php
示例9: my_people_get_variables
function my_people_get_variables ($serveur,$port,$Dn)
{
$ldap_server=$serveur;
$ldap_port=$port;
$dn=$Dn;
global $error;
$error="";
// LDAP attribute
$ldap_group_attr = array (
"cn",
"memberuid",
"description", // Description du groupe
);
$ds = @ldap_connect ( $ldap_server, $ldap_port );
if ( $ds ) {
$r = @ldap_bind ( $ds ); // Bind anonyme
if ($r) {
// Recherche des groupes d'appartenance dans la branche Groups
$filter = "(&(objectclass=posixGroup))";
$result = @ldap_list ( $ds, $dn["groups"], $filter, $ldap_group_attr );
if ($result) {
$info = @ldap_get_entries ( $ds, $result );
if ( $info["count"]) {
for ($loop=0; $loop<$info["count"];$loop++) {
//if ($info[$loop]["member"][0] == "") $typegr="posixGroup"; else $typegr="groupOfNames";
$typegr="posixGroup";
$ret_group[$loop] = array (
"cn" => $info[$loop]["cn"][0],
//"owner" => $info[$loop]["owner"][0],
"description" => utf8_decode($info[$loop]["description"][0]),
"type" => $typegr
);
}
usort($ret_group, "cmp_cn");
}
@ldap_free_result ( $result );
}
// Fin recherche des groupes
} else {
$error = "Echec du bind anonyme";
}
@ldap_close ( $ds );
} else {
$error = "Erreur de connection au serveur LDAP";
}
return array( $ret_group);
}
开发者ID:rhertzog,项目名称:lcs,代码行数:51,代码来源:creer_zones_groupes_lcs.php
示例10: deleteRecord
/**
* @return boolean
* @param ResourceBundle $connection
* @param string $connection
* @param boolean $recursive
*/
public function deleteRecord($connection, $dn, $recursive = false)
{
if ($recursive == false) {
return ldap_delete($connection, $dn);
} else {
$sr = ldap_list($connection, $dn, "ObjectClass=*", array(""));
$info = ldap_get_entries($connection, $sr);
for ($i = 0; $i < $info['count']; $i++) {
$result = myldap_delete($connection, $info[$i]['dn'], $recursive);
if (!$result) {
return $result;
}
}
return ldap_delete($connection, $dn);
}
}
开发者ID:roquebrasilia,项目名称:sgdoc-codigo,代码行数:22,代码来源:LDAP.php
示例11: lda_del
/**
* suppression d'entrees OpenLDAP
* recursivite possible
*/
function lda_del($ldapconn, $dn, $recursive = FALSE)
{
if ($recursive == FALSE) {
return ldap_delete($ldapconn, $dn);
} else {
$sr = ldap_list($ldapconn, $dn, "ObjectClass=*");
$info = ldap_get_entries($ldapconn, $sr);
for ($i = 0; $i < $info['count']; $i++) {
$result = lda_del($ldapconn, $info[$i]['dn'], $recursive);
if (!$result) {
return $result;
}
}
return ldap_delete($ldapconn, $dn);
}
}
开发者ID:Evolix,项目名称:evoadmin-mail,代码行数:20,代码来源:Ldap.php
示例12: search
public function search($base, $depth, $filter, $attrs = array('cn'))
{
$attrs = array_values(array_unique($attrs));
if ($depth == 'one') {
if (($data = ldap_list($this->ldap, $base, $filter, $attrs)) === FALSE) {
throw new LDAPException('ldap_list() failed', $this->ldap);
}
} else {
if (($data = ldap_search($this->ldap, $base, $filter, $attrs)) === FALSE) {
throw new LDAPException('ldap_search() failed', $this->ldap);
}
}
if (($result = ldap_get_entries($this->ldap, $data)) === FALSE) {
throw new LDAPException('ldap_get_entries() failed', $this->ldap);
}
return $result;
}
开发者ID:jacekkow,项目名称:qa-cas-ldap-auth,代码行数:17,代码来源:ldap.php
示例13: query
public function query(LdapQuery $query)
{
set_error_handler($this->eh);
switch ($query->scope) {
case LDAP_SCOPE_SUBTREE:
$sr = ldap_search($this->ds, $query->base, $query->filter, $query->attrs, 0, $query->sizeLimit, $query->timeLimit, $query->deref);
break;
case LDAP_SCOPE_ONELEVEL:
$sr = ldap_list($this->ds, $query->base, $query->filter, $query->attrs, 0, $query->sizeLimit, $query->timeLimit, $query->deref);
break;
case LDAP_SCOPE_BASE:
$sr = ldap_read($this->ds, $query->base, $query->filter, $query->attrs, 0, $query->sizeLimit, $query->timeLimit, $query->deref);
break;
default:
throw new LdapException("Unknown query scope");
}
restore_error_handler();
return new LdapEntries($this->ds, $sr);
}
开发者ID:mharj,项目名称:ldap,代码行数:19,代码来源:Ldap.php
示例14: login
public function login($username, $password)
{
$CI =& get_instance();
$config = $CI->config->item("auth_ldap");
if ($username == "" || $password == "") {
return false;
}
$ds = ldap_connect($config['host'], $config['port']);
if ($ds === false) {
return false;
}
switch ($config["scope"]) {
case "base":
$r = ldap_read($ds, $config['basedn'], $config["username_field"] . '=' . $username);
break;
case "one":
$r = ldap_list($ds, $config['basedn'], $config["username_field"] . '=' . $username);
break;
case "subtree":
$r = ldap_search($ds, $config['basedn'], $config["username_field"] . '=' . $username);
break;
default:
throw new \exceptions\ApiException("libraries/duser/ldap/invalid-ldap-scope", "Invalid LDAP scope");
}
if ($r === false) {
return false;
}
foreach ($config["options"] as $key => $value) {
if (ldap_set_option($ds, $key, $value) === false) {
return false;
}
}
$result = ldap_get_entries($ds, $r);
if ($result === false || !isset($result[0])) {
return false;
}
// ignore errors from ldap_bind as it will throw an error if the password is incorrect
if (@ldap_bind($ds, $result[0]['dn'], $password)) {
ldap_unbind($ds);
return array("username" => $result[0][$config["username_field"]][0], "userid" => $result[0][$config["userid_field"]][0]);
}
return false;
}
开发者ID:Anon215,项目名称:filebin,代码行数:43,代码来源:Duser_ldap.php
示例15: delete_ldap
function delete_ldap($dn, $connect, $recursive = false)
{
if ($recursive == false) {
if (!@ldap_delete($connect, $dn)) {
echo "Deleting {$dn}...\n";
echo "ERROR: ldap_delete \"{$dn}\"" . ldap_err2str(ldap_errno($connect)) . "\n";
return false;
}
}
$sr = @ldap_list($connect, $dn, "ObjectClass=*");
if ($sr) {
$info = @ldap_get_entries($connect, $sr);
for ($i = 0; $i < $info['count']; $i++) {
$result = delete_ldap($info[$i]['dn'], $connect, $recursive);
if (!$result) {
return $result;
}
}
return delete_ldap($dn, $connect, false);
}
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:21,代码来源:cron.endoflife.php
示例16: ldapQuery
/**
* execute ldap query and return ldap records
*
* @param scope
* @params see pagedLdapQuery $params
*
* @return array of ldap entries
*/
function ldapQuery($scope, $params)
{
$this->connectAndBindIfNotAlready();
switch ($scope) {
case LDAP_SCOPE_SUBTREE:
$result = @ldap_search($this->connection, $params['base_dn'], $params['filter'], $params['attributes'], $params['attrsonly'], $params['sizelimit'], $params['timelimit'], $params['deref']);
if ($params['sizelimit'] && $this->ldapErrorNumber() == LDAP_SIZELIMIT_EXCEEDED) {
// false positive error thrown. do not return result limit error when $sizelimit specified
} elseif ($this->hasError()) {
watchdog('ldap_server', 'ldap_search() function error. LDAP Error: %message, ldap_search() parameters: %query', array('%message' => $this->errorMsg('ldap'), '%query' => $params['query_display']), WATCHDOG_ERROR);
}
break;
case LDAP_SCOPE_BASE:
$result = @ldap_read($this->connection, $params['base_dn'], $params['filter'], $params['attributes'], $params['attrsonly'], $params['sizelimit'], $params['timelimit'], $params['deref']);
if ($params['sizelimit'] && $this->ldapErrorNumber() == LDAP_SIZELIMIT_EXCEEDED) {
// false positive error thrown. do not result limit error when $sizelimit specified
} elseif ($this->hasError()) {
watchdog('ldap_server', 'ldap_read() function error. LDAP Error: %message, ldap_read() parameters: %query', array('%message' => $this->errorMsg('ldap'), '%query' => @$params['query_display']), WATCHDOG_ERROR);
}
break;
case LDAP_SCOPE_ONELEVEL:
$result = @ldap_list($this->connection, $params['base_dn'], $params['filter'], $params['attributes'], $params['attrsonly'], $params['sizelimit'], $params['timelimit'], $params['deref']);
if ($params['sizelimit'] && $this->ldapErrorNumber() == LDAP_SIZELIMIT_EXCEEDED) {
// false positive error thrown. do not result limit error when $sizelimit specified
} elseif ($this->hasError()) {
watchdog('ldap_server', 'ldap_list() function error. LDAP Error: %message, ldap_list() parameters: %query', array('%message' => $this->errorMsg('ldap'), '%query' => $params['query_display']), WATCHDOG_ERROR);
}
break;
}
return $result;
}
开发者ID:tierce,项目名称:ppbe,代码行数:39,代码来源:LdapServer.class.php
示例17: validate_login
/**
* Validate the login using CAS
*/
function validate_login($null, $username, $password)
{
if (!$this->cas_configured) {
die('Error. Cas not configured and I was unable to redirect you to wp-login. Use define("WPCAS_BYPASS",true); in your wp-config.php
to bypass wpCAS');
}
phpCAS::forceAuthentication();
// might as well be paranoid
if (!phpCAS::isAuthenticated()) {
exit;
}
$username = phpCAS::getUser();
$password = md5($username . 'wpCASAuth!"#$"!$!"%$#"%#$' . rand() . $this->generateRandomString(20));
$user = get_user_by('login', $username);
if ($user) {
if (is_multisite()) {
if ($this->canUserRegister($username) && !is_user_member_of_blog($user->ID, get_current_blog_id())) {
$nextrole = $this->canUserRegister($username);
add_user_to_blog(get_current_blog_id(), $user->ID, $nextrole);
}
}
return $user;
}
/** Register a new user, if it is allowed */
if ($user_role = $this->canUserRegister($username)) {
$user_email = '';
$email_registration = $this->settings['e-mail_registration'];
//How does the site is configured to get the email?
switch ($email_registration) {
case 2:
//Using sufix
$user_email = $username . '@' . $this->settings['email_suffix'];
break;
case 3:
//Using LDAP
/*fetch user email from ldap*/
$ds = ldap_connect($this->settings['ldap_server']);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, $this->settings['ldap_protocol']);
ldap_set_option($ds, LDAP_OPT_RESTART, TRUE);
$r = ldap_bind($ds, $this->settings['ldap_username_rdn'], $this->settings['ldap_password']);
$list = ldap_list($ds, $this->settings['ldap_basedn'], "uid={$username}");
if ($list !== FALSE) {
$result = ldap_get_entries($ds, $list);
if ($result['count'] > 0) {
$result = $result[0];
if (isset($result['mail']) && is_array($result['mail'])) {
$user_email = $result['mail'][0];
}
if (isset($result['displayname']) && is_array($result['displayname'])) {
$user_realname = $result['displayname'][0];
$exploded_name = explode(' ', $user_realname);
$firstname = $exploded_name[0];
$lastname = end($exploded_name);
}
}
}
break;
default:
//No email predition
break;
}
$user_info = array();
$user_info['user_pass'] = $password;
$user_info['user_email'] = $user_email;
$user_info['user_login'] = $username;
$user_info['display_name'] = $user_realname;
$user_info['first_name'] = $firstname;
$user_info['last_name'] = $lastname;
//Verify if we need to add user to a specified role
if (!is_bool($user_role)) {
$user_info['role'] = $user_role;
}
if (!is_wp_error(wp_insert_user($user_info))) {
$send_user = !empty($user_info['user_email']);
//False, if user has no email
if (!isset($user_info['role']) && $this->settings['wait_mail']['send_user']) {
//If user has no role and is allowed to send wait mail to user
$this->processMailing(WPCAS_WAITACCESS_MAIL, $user_info, $send_user);
} else {
if (!isset($user_info['role']) && !$this->settings['wait_mail']['send_user']) {
//Otherwise, if has no role and we don't want a wait for access mail, send the welcome mail
$this->processMailing(WPCAS_WELCOME_MAIL, $user_info, $send_user);
} else {
//In any other case, send a Welcome Mail
$this->processMailing(WPCAS_WELCOME_MAIL, $user_info, $send_user);
}
}
$user = get_user_by('login', $username);
if (!isset($user_info['user_role'])) {
update_user_meta($user->ID, '_wpcas_waiting', true);
}
return $user;
}
} else {
$caserror_file = get_template_directory() . '/cas_error.php';
include file_exists($caserror_file) ? $caserror_file : "cas_error.php";
exit;
//.........这里部分代码省略.........
开发者ID:mer30hamid,项目名称:cas-maestro,代码行数:101,代码来源:cas-maestro.php
示例18: getChildrenDns
/**
* Retrieve the immediate children DNs of the given $parentDn
*
* This method is used in recursive methods like {@see delete()}
* or {@see copy()}
*
* @param string|Dn $parentDn
* @throws Exception\LdapException
* @return array of DNs
*/
protected function getChildrenDns($parentDn)
{
if ($parentDn instanceof Dn) {
$parentDn = $parentDn->toString();
}
$children = array();
ErrorHandler::start(E_WARNING);
$search = ldap_list($this->getResource(), $parentDn, '(objectClass=*)', array('dn'));
for ($entry = ldap_first_entry($this->getResource(), $search); $entry !== false; $entry = ldap_next_entry($this->getResource(), $entry)) {
$childDn = ldap_get_dn($this->getResource(), $entry);
if ($childDn === false) {
ErrorHandler::stop();
throw new Exception\LdapException($this, 'getting dn');
}
$children[] = $childDn;
}
ldap_free_result($search);
ErrorHandler::stop();
return $children;
}
开发者ID:Rovak,项目名称:zf2,代码行数:30,代码来源:Ldap.php
示例19: _ldapsearch
/**
* Wraps around ldap_search, ldap_list or ldap_read depending on $scope
*
* @param $scope string - can be 'base', 'one' or 'sub'
* @author Andreas Gohr <[email protected]>
*/
function _ldapsearch($link_identifier, $base_dn, $filter, $scope = 'sub', $attributes = null, $attrsonly = 0, $sizelimit = 0, $timelimit = 0, $deref = LDAP_DEREF_NEVER)
{
if (is_null($attributes)) {
$attributes = array();
}
if ($scope == 'base') {
return @ldap_read($link_identifier, $base_dn, $filter, $attributes, $attrsonly, $sizelimit, $timelimit, $deref);
} elseif ($scope == 'one') {
return @ldap_list($link_identifier, $base_dn, $filter, $attributes, $attrsonly, $sizelimit, $timelimit, $deref);
} else {
return @ldap_search($link_identifier, $base_dn, $filter, $attributes, $attrsonly, $sizelimit, $timelimit, $deref);
}
}
开发者ID:kosenconf,项目名称:kcweb,代码行数:19,代码来源:ldap.class.php
示例20: getOrga
/**
* @param $login
* @return bool|Model\Organization
*/
public function getOrga($login)
{
$infos = ldap_get_entries($this->connection, ldap_list($this->connection, 'ou=people,dc=utt,dc=fr', 'uid=' . $login));
if (empty($infos[0]) || !isset($infos[0])) {
return false;
}
return $this->mapOrga($infos[0]);
}
开发者ID:ChrisdAutume,项目名称:EtuUTT,代码行数:12,代码来源:LdapManager.php
注:本文中的ldap_list函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论