Example #1
0
 public function executeSignin($request)
 {
     $this->form = new sfGuardFormSignin();
     if ($request->isMethod('post')) {
         $data = $request->getParameter('signin');
         $adldap = new adLDAP(array('account_suffix' => '@sch.bme.hu', 'domain_controllers' => array('152.66.208.42'), 'ad_username' => $data['username'], 'ad_password' => $data['password']));
         try {
             $authUser = $adldap->authenticate($data['username'], $data['password']);
             if ($authUser === true) {
                 $userData = $adldap->user_info($data['username']);
                 $user = Doctrine::getTable('sfGuardUser')->findOneBy('username', $data['username']);
                 $save = false;
                 if ($user) {
                     if ($user->Profile->full_name != $userData[0]["displayname"][0] || $user->Profile->email != $userData[0]["mail"][0]) {
                         $save = true;
                     }
                 } else {
                     $user = new sfGuardUser();
                     $save = true;
                 }
                 if ($save) {
                     $user->username = $data['username'];
                     $user->password = $data['password'];
                     $user->Profile->full_name = $userData[0]["displayname"][0];
                     $user->Profile->email = $userData[0]["mail"][0];
                     $user->save();
                 }
             }
         } catch (Exception $e) {
             echo $e;
         }
     }
     parent::executeSignin($request);
 }
Example #2
0
function TestPDC()
{
    global $SAMSConf;
    $info = array();
    $lang = "./lang/lang.{$SAMSConf->LANG}";
    require $lang;
    if (isset($_GET["auth"])) {
        $auth = $_GET["auth"];
    }
    print "<H1>TEST PDC</H1>";
    $value = ExecuteShellScript("getwbinfousers", "{$SAMSConf->WBINFOPATH}");
    $a = explode(" ", $value);
    sort($a);
    $acount = count($a);
    if ($auth == "ntlm") {
        for ($i = 0; $i < $acount; $i++) {
            print "{$a[$i]}<BR>\n";
        }
    }
    if ($auth == "adld") {
        require_once "adldap.php";
        //create the LDAP connection
        $pdc = array("{$SAMSConf->LDAPSERVER}");
        $options = array(account_suffix => "@{$SAMSConf->LDAPDOMAIN}", base_dn => "{$SAMSConf->LDAPBASEDN}", domain_controllers => $pdc, ad_username => "{$SAMSConf->LDAPUSER}", ad_password => "{$SAMSConf->LDAPUSERPASSWD}", "", "", "");
        $ldap = new adLDAP($options);
        $groups = $ldap->all_groups($include_desc = false, $search = "*", $sorted = true);
        $gcount = count($groups);
        print "<TABLE CLASS=samstable>";
        print "<TH width=5%>No";
        print "<TH >{$SAMSConf->LDAPDOMAIN} groups";
        for ($i = 0; $i < $gcount; $i++) {
            echo "<TR><TD>{$i}:<TD>{$groups[$i]}<BR>";
        }
        echo "</TABLE><P>";
        $users = $ldap->all_users($include_desc = false, $search = "*", $sorted = true);
        $count = count($users);
        print "<TABLE CLASS=samstable>";
        print "<TH width=5%>No";
        print "<TH >{$SAMSConf->LDAPDOMAIN} users";
        for ($i = 0; $i < $count; $i++) {
            $userinfo = $ldap->user_info($users[$i], $fields = NULL);
            //$mcount=count($userinfo);
            echo "<TR><TD>{$i}:<TD> {$users[$i]} ";
            $aaa = $userinfo[0]["displayname"][0];
            //$aaa2 = $userinfo[0]["givenname"][0];
            //$aaa3 = $userinfo[0]["sn"][0];
            echo "<TD>{$aaa} ";
        }
        echo "</TABLE>";
    }
}
Example #3
0
    var_dump($result);
}
// create a user account
if (0) {
    $attributes = array("username" => "freds", "logon_name" => "*****@*****.**", "firstname" => "Fred", "surname" => "Smith", "company" => "My Company", "department" => "My Department", "email" => "*****@*****.**", "container" => array("Container Parent", "Container Child"), "enabled" => 1, "password" => "Password123");
    $result = $ldap->user_create($attributes);
    var_dump($result);
}
// retrieve the group membership for a user
if (0) {
    $result = $ldap->user_groups("username");
    print_r($result);
}
// retrieve information about a user
if (0) {
    $result = $ldap->user_info("username");
    print_r($result);
}
// check if a user is a member of a group
if (0) {
    $result = $ldap->user_ingroup("username", "Group Name");
    var_dump($result);
}
// modify a user account (this example will set "user must change password at next logon")
if (0) {
    $attributes = array("change_password" => 1);
    $result = $ldap->user_modify("username", $attributes);
    var_dump($result);
}
// change the password of a user
if (0) {
Example #4
0
$adUsers = $adldap->all_users();
foreach ($adUsers as $adUser) {
    // loop over all the Active Directory users
    // skip the excluded usernames
    $skip = 0;
    foreach ($excludedUsers as $ex) {
        if ($ex == $adUser) {
            $skip = 1;
            break;
        }
    }
    if ($skip == 1) {
        continue;
    }
    // query LDAP for the full user info
    $userInfo = $adldap->user_info($adUser, $ldapAttributes);
    if (NewUser($adUser, $oemrUsers)) {
        // add new user
        echo "Adding user {$adUser}";
        if (AddUser($adUser, $userInfo)) {
            echo ", OK\n";
        } else {
            echo ", FAILED\n";
        }
    } else {
        // update existing users with Active Directory info
        echo "existing user {$adUser}";
        if (UpdateUser($adUser, $userInfo)) {
            echo ", OK\n";
        } else {
            echo ", FAILED\n";
function AddUsersFromAdLDAP()
{
    require_once "adldap.php";
    global $SAMSConf;
    global $USERConf;
    $DB = new SAMSDB();
    $lang = "./lang/lang.{$SAMSConf->LANG}";
    require $lang;
    if ($USERConf->ToWebInterfaceAccess("UC") != 1) {
        exit(0);
    }
    if (isset($_GET["domainname"])) {
        $domainname = $_GET["domainname"];
    }
    if (isset($_GET["username"])) {
        $userlist = $_GET["username"];
    }
    if (isset($_GET["groupname"])) {
        $usergroup = $_GET["groupname"];
    }
    if (isset($_GET["usershablon"])) {
        $usershablon = $_GET["usershablon"];
    }
    if (isset($_GET["enabled"])) {
        $enabled = $_GET["enabled"];
    }
    if (isset($_GET["domain"])) {
        $domain = $_GET["domain"];
    }
    if (isset($_GET["newgroupname"])) {
        $newgroupname = $_GET["newgroupname"];
    }
    if ($enabled == "on") {
        $enabled = 1;
    } else {
        $enabled = -1;
    }
    if (strlen($domainname) > 1) {
        $domain = $domainname;
    }
    $i = 0;
    $adldserver = GetAuthParameter("adld", "adldserver");
    $basedn = GetAuthParameter("adld", "basedn");
    $adadmin = GetAuthParameter("adld", "adadmin");
    $adadminpasswd = GetAuthParameter("adld", "adadminpasswd");
    $adldusergroup = GetAuthParameter("adld", "usergroup");
    $LDAPBASEDN2 = strtok($basedn, ".");
    $LDAPBASEDN = "DC={$LDAPBASEDN2}";
    while (strlen($LDAPBASEDN2) > 0) {
        $LDAPBASEDN2 = strtok(".");
        if (strlen($LDAPBASEDN2) > 0) {
            $LDAPBASEDN = "{$LDAPBASEDN},DC={$LDAPBASEDN2}";
        }
    }
    $pdc = array("{$adldserver}");
    $options = array(account_suffix => "@{$basedn}", base_dn => "{$LDAPBASEDN}", domain_controllers => $pdc, ad_username => "{$adadmin}", ad_password => "{$adadminpasswd}", "", "", "");
    $ldap = new adLDAP($options);
    if ($usergroup == -1) {
        $QUERY = "SELECT s_group_id FROM sgroup where s_name = '{$newgroupname}'";
        $result = $DB->samsdb_query_value($QUERY);
        if ($result == 0) {
            $result = $DB->samsdb_query("INSERT INTO sgroup (s_name) VALUES('{$newgroupname}') ");
            $QUERY = "SELECT s_group_id FROM sgroup where s_name = '{$newgroupname}'";
            $result = $DB->samsdb_query_value($QUERY);
        }
        $row = $DB->samsdb_fetch_array();
        $usergroup = $row['s_group_id'];
    }
    $query = "select s_quote from shablon where s_shablon_id='{$usershablon}'";
    $num_rows = $DB->samsdb_query_value($query);
    $row = $DB->samsdb_fetch_array();
    $s_quote = $row['s_quote'];
    $DB->free_samsdb_query();
    while (strlen($userlist[$i]) > 0) {
        $string = $userlist[$i];
        $i++;
        $user = "******";
        $username = UTF8ToSAMSLang($user);
        $num_rows = $DB->samsdb_query_value("SELECT * FROM squiduser WHERE s_nick='{$user}'");
        if ($num_rows == 0) {
            $userinfo = $ldap->user_info($user, $fields = NULL);
            $givenname = $userinfo[0]["givenname"][0];
            $sn = $userinfo[0]["sn"][0];
            $QUERY = "INSERT INTO squiduser (s_group_id, s_shablon_id, s_nick, s_domain, s_enabled, s_quote, s_family, s_name) VALUES('{$usergroup}', '{$usershablon}', '{$username}', '{$domain}', '{$enabled}', '{$s_quote}', '{$sn}', '{$givenname}')";
            $num_rows = $DB->samsdb_query($QUERY);
        }
    }
    print "<SCRIPT>\n";
    print " parent.lframe.location.href=\"lframe.php\"; \n";
    print " parent.tray.location.href = \"tray.php?show=exe&function=authadldtray&filename=authadldtray.php\"; \n";
    print "</SCRIPT> \n";
}