query("SELECT wert1, wert2 FROM parameter WHERE pid='1'");
$uhd = $ansp->fetch_array();
$query_ldapcon = $db->query("SELECT wert1 FROM parameter WHERE pid='12'");
$row_ldapcon = $query_ldapcon->fetch_array();
$query_ldapuser = $db->query("SELECT wert1, wert2 FROM parameter WHERE pid='13'");
$row_ldapuser = $query_ldapuser->fetch_array();
$_ldap_dn = "ou=ouStudnet,dc=studnet,dc=hs-ludwigsburg,dc=de";
$ansprechpart = "$uhd[wert1]"; // Ansprechpartner bei Probleme
$helpmail = "$uhd[wert2]"; // Kontaktmailadresse bei Problemen
$systemname = "Anmeldesystem";
$_SESSION['systemname'] = $systemname;
if (isset($_GET['action']))
$action = $_GET['action'];
else
$action = "";
switch($action){
default:
echo"
Anmeldung $systemname
";
break;
case "anmeld":
$systemname = $_SESSION['systemname'];
$uid = strtolower($_POST[uid]);
$pwd = $_POST[pwd];
$db = dbconnect();
$result = $db->query("SELECT hs, LOWER(uid) uid, Pwd FROM stud where uid=\"$uid\"");
$row = $result->fetch_array();
// Abfrage, was tun wenn Felder leer sind bzw. Passwort falsch ist
if ($uid == "" or $_POST['pwd'] == "")
{
echo "
Anmeldung $systemname
";
exit;
}
if($row['hs'] == 'L' AND $row_ldapcon['wert1'] == 'Y'){
$ds=@ldap_connect("141.10.144.37", "389");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
################################
## Benutzerinfos aus LDAP setzen
################################
# bind wird benoetigt, sonst werden die Umlaute bei Namen nicht richtig angezeigt ?!!?
$r=@ldap_bind($ds, $row_ldapuser['wert1'], $row_ldapuser['wert2']);
$sr=@ldap_search($ds, $_ldap_dn, "samaccountname=$uid");
$info = @ldap_get_entries($ds, $sr);
$anzahl = ldap_count_entries($ds,$sr);
$vorname = $info[0]['givenname'][0];
$nachname = $info[0]['sn'][0];
$mail = $info[0]['mail'][0];
$first = ldap_first_entry($ds,$sr);
$distinguishedName = ldap_get_dn($ds,$first);
################################
# Bind geht im hsnet nur über den DN "CN=Schwarz\, Alexander, OU=Externe Benutzer, ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de"
##!!!!! IM STUDNET MIT DEM DISTINGUISHEDNAME !!!!!!#################
$password=utf8_decode($pwd);
if ($bind = ldap_bind($ds, $distinguishedName, $password) AND $anzahl > 0){
#echo "Bind geht: $distinguishedName | $pwd $anzahl ";
$db = dbconnect();
$sql = $db->query ("UPDATE stud
SET vorname='$vorname'
,nachname='$nachname'
,mail='$mail'
WHERE uid='$uid'");
$login = "0";
}else{
#echo "Bind geht nicht: $distinguishedName $anzahl";
$login = "1";
}
}else{
# Kehler Login
$passwd = md5($_POST['pwd']);
$login = "0";
if ($passwd != $row['Pwd']){
$login = "1";
$pw_failure= "1";
}
}
if ($row['hs'] == 'K'){
# Kehler Studenten haben ihr Passwort in Tabelle stud. Daher d�rfen Sie es selbst zur�cksetzen.
$pw_zusatz ="Sie können sich ein neues Passwort an Ihre Hochschul-Mailadresse schicken lassen: Neues Passwort setzen ";
}
if ($login == 1){
// Cokkie hier, falls PW generiert werden soll
setcookie("uid1","");
setcookie("uid1","$row[uid]");
# F�r Ludwigsburger Studenten soll das Passwort zur�cksetzen und per Mail zuschicken nicht angeboten werden,
# da die Informationen im LDAP stehen.
echo "
Anmeldung $systemname
";
exit;
}
#echo "Login";
#exit;
# wenn Benutzername und Passwort stimmen, dann Weiterleitung
setcookie("uid1","");
setcookie("uid1","$row[uid]");
if (file_exists("balancing_ldap.php")) {
echo "";
} else {
if (file_exists("index_frame.htm")) {
echo "";
}else{
## Bei Veranstaltung und stellenantrag zB. ist es in einem weiteren Unterordner
echo "";
}
}
break;
case "pass_gen":
$uid1=$_COOKIE["uid1"];
$systemname = $_SESSION['systemname'];
$pool = "qwertzupasdfghkyxcvbnm";
$pool .= "23456789";
$pool .= "WERTZUPLKJHGFDSAYXCVBNM";
srand ((double)microtime()*1000000);
for($index = 0; $index < 7; $index++)
{
$pass_word .= substr($pool,(rand()%(strlen ($pool))), 1);
}
$new_pw_md5=md5($pass_word);
$sql = $db->query ("UPDATE stud SET pwd='$new_pw_md5' WHERE uid='$uid1'");
// Nachricht über Passwortrücksetzung: Hinzugefügt 19.09.2006
$result2 = $db->query("SELECT uid, vorname, nachname, mail FROM stud where uid='$uid1'");
$row2 = $result2->fetch_array();
$empfaenger = "$row2[mail]";
$betreff = "Kurssystem: Passwort zurückgesetzt";
$text = "
Passwort zurückgesetzt
Guten Tag $row2[vorname] $row2[nachname]!
Sie haben Ihr Passwort im Kurssystem zurückgesetzt!
Nachfolgend finden Sie Ihre neuen Zugangsdaten:
Benutzerkennung:
$row2[uid]
Passwort:
$pass_word
Bitte beachten Sie, dass zwischen Groß- und
Kleinschreibung unterschieden wird.
Ändern Sie bitte zu Ihrer eigenen Sicherheit das
Passwort nach dem ersten Login.