gelöst Login mit PHP über LDAP - Verbesserungsvorschläge
Hallo Forum.
Also, wie der Titel es eigentlich schon sagt:
Habe es mit meinem jungen PHP-Wissen geschafft, ein Login über LDAP zum laufen zu bringen.
Jetzt ist das garantiert noch nicht brauchbar, nehm ich an, wäre über Verbesserungsvorschläge echt froh:
Habe die "Überprüfung" in eine Funktion geschrieben:
Habe es mit Cookies gelöst, die Werte gebe ich in einem Array zurück, dass ich sie nachher z.B. auch für ldap_search benutzen kann.
An jedem "Seitenanfang" rufe ich dann diese Funktion auf, und "setzte" den Inhalt mit:
Das if($login_check==true) kann ja irgendwo stehen.
Bin froh über alle Verbesserungsvorschläge.
Greetz, Lousek
[Edit masterG 20.01.2008 12:08]:
Ich hab mir erlaubt die codeschnippsel in einen Codeblock zu legen
Also, wie der Titel es eigentlich schon sagt:
Habe es mit meinem jungen PHP-Wissen geschafft, ein Login über LDAP zum laufen zu bringen.
Jetzt ist das garantiert noch nicht brauchbar, nehm ich an, wäre über Verbesserungsvorschläge echt froh:
Habe die "Überprüfung" in eine Funktion geschrieben:
01.
function login_complete ($ldap_server)
02.
{
03.
if((isset($_COOKIE['cookie_username']) AND ($_COOKIE['cookie_passwort']))) {
04.
$username = $_COOKIE['cookie_username'];
05.
$passwort = $_COOKIE['cookie_passwort'];
06.
$check_positive = 1;
07.
} else {
08.
if((isset($_POST['username']) OR ($_POST['passwort']))) {
09.
if(empty($_POST['username']) OR empty($_POST['passwort'])) {
10.
$array["login_complete"] = "Bitte fuellen Sie alle Felder aus. <a href='login.php'>Login</a><br>";
11.
} else {
12.
if((isset($_POST['username']) AND ($_POST['passwort']))) {
13.
$username = $_POST['username'];
14.
$passwort = $_POST['passwort'];
15.
$check_positive = 1;
16.
}
17.
}
18.
} else {
19.
$array["login_complete"] = "Sie sind nicht eingeloggt: ";
20.
}
21.
}
22.
23.
24.
25.
if($check_positive==1) {
26.
//----------------------------------------Login und Bind----------------------------------------
27.
if (!($connect=@ldap_connect($ldap_server))) {
28.
$array["login_complete"] = "Could not connect to ldap server<br>";
29.
} else {
30.
}
31.
32.
// Needed for W2003 AD..
33.
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
34.
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);
35.
36.
if (!($bind=@ldap_bind($connect, $username, $passwort))) {
37.
$array["login_complete"] = "Login oder Passwort falsch. <a href='login.php'>Login</a><br>";
38.
} else {
39.
setcookie("cookie_passwort", $passwort, time()+(60*60));
40.
setcookie("cookie_username", $username, time()+(60*60));
41.
$array["login_check"] = true;
42.
}
43.
}
44.
$array["username"] = $username;
45.
$array["passwort"] = $passwort;
46.
$array["connect"] = $connect;
47.
return $array;
48.
}
49.
An jedem "Seitenanfang" rufe ich dann diese Funktion auf, und "setzte" den Inhalt mit:
01.
$login = login_complete ($ldap_server);
02.
$login_complete = $login["login_complete"];
03.
$username = $login["username"];
04.
$passwort = $login["passwort"];
05.
$login_check = $login["login_check"];
06.
$connect = $login["connect"];
07.
echo $login_complete;
08.
09.
if($login_check==true) {
10.
11.
//Inhalt wenn eingeloggt
12.
13.
} else {
14.
15.
//Inhalt wenn nicht eingeloggt
16.
17.
}
Bin froh über alle Verbesserungsvorschläge.
Greetz, Lousek
[Edit masterG 20.01.2008 12:08]:
Ich hab mir erlaubt die codeschnippsel in einen Codeblock zu legen
2 Antworten
- LÖSUNG Lousek schreibt am 20.01.2008 um 21:34:57 Uhr
- LÖSUNG masterG schreibt am 26.01.2008 um 11:19:03 Uhr
LÖSUNG 20.01.2008 um 21:34 Uhr
Jeps, danke, sry, habe sonst noch nicht code hier geschrieben? muss ich einfach <code type="php"> schreiben?
Lousek
Lousek
LÖSUNG 26.01.2008 um 11:19 Uhr
ganz genau
masterG
masterG
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte