aaron2222
Goto Top

Php hidden auth für mehrere Seiten

Hi,
ich bin gerade dabei, einen eigenen login zu schreiben (will eigentlich nur was testen)

es geht um 3 seiten die ich verbinden will, durch eine einheitliche anmeldung.

also ein WIki, cms und forum (Typo3, phpBB/smf, ein wiki <-- ist ncoh nicht sicher, was es wird)
jeweils jedoch seperate systeme (mit eigener benutzerdatenbank)

Gegebenheiten:
auf allen 3 seiten gibt es die benutzer mit gleichem login und gleichem passwort.

Ich möchte nun ein script (php wenn möglich, wenn nicht eben AJAX oder Javascript), das folgendes kann:
- eine zentralel anmeldung, welche den user sofort an allen 3 instanzen (forum, cms, wiki) anmeldet.
also man gibt einmal benutzername + passwort ein und der browser meldet sich an allem mit genau diesem benutezrnamen/passwort an.

Kann mir da jemand helfen?
an sich sollte dies mit einem post an alle 3 seiten möglich sein (denke ich)
aber bin ein absoluter php-newbie.

später sollen noch andere funktionen dazukommen ... aber das ist vorerst nebensächlich

nun muss erst einmal das Anmelden funktionieren ;)

Bitteum hilfe, habe bereits google befragt, aber habe leider keien bruachbare hilfe gefunden.
Suchbegriffe:
hidden login (mit php/ajax/javascript)
sso php
login multiple sites script
mehrere seiten anmelden script
--> leider nichts (was ich als hilfreich empfunden habe)

Content-ID: 151617

Url: https://administrator.de/contentid/151617

Ausgedruckt am: 26.11.2024 um 15:11 Uhr

TheJoker2305
TheJoker2305 23.09.2010 um 13:18:23 Uhr
Goto Top
Hier bietet es sich an eine gemeinsame Sessionverwaltung einzurichten über die dann die Session für alle drei oder Applikationen erfolgt.
Aaron2222
Aaron2222 23.09.2010 um 14:22:49 Uhr
Goto Top
gibt es keien möglichkeit einfach das passwort sozusagen in alle 3 logins einzutragen und sich bei allen 3 zu authentifizieren!?

benutzername und PW sind ja gleich?!
oder ist das session?
session ist ja normal etwas anderes (wenn ich das noch richtig weiß)
Florian.Sauber
Florian.Sauber 24.09.2010 um 02:54:24 Uhr
Goto Top
Das wird spassig werden und unter Sicherheitsaspekten wohl kaum "mal kurz" zu verwirklichen sein.
Wie gut, dass sich damit schon einige Spez. beschäftigt haben
http://www.single-signon.com/en/applications/adapter-overview.html

Ach und ich hoffe, Du weisst, auf was Du dich bei einem solchen Projekt einläßt. Gerade in TYPO3 ließt man sich nicht mal so eben ein.

Grüße Sauber
Aaron2222
Aaron2222 24.09.2010 um 13:31:15 Uhr
Goto Top
Genau diese seite habe ich auch schon gefunden ...
nur verstehe ich immer noch nicht, weshalb meine idee nicht ganz funktioniert.
@sauber
die Seite, welche du verlinkt hast, bezieht sich nicht nur auf die anmeldung, sondern auch auf die synchronisation der benutzer und ihre rollen (was bei mir nicht nötig ist)
somit benötige ich nur einen kleinen teil des funktionsumfangs .... (den einfacheren meiner meinung nach ...)

Habe heute noch ein paar h recherchiert und bin auf einige interresante diunge gestoßen ...
(habe mir die phpBB anmeldung etwas genauer angeschaut)
An sich ist die Anmeldung das ausfüllen und abschicken eines formulars ...
Da war meine Idee, man könnte ja einfach die daten in ein formaular eintragen, wobei der Inhalt dieses formulars an mehrere Seiten geschickt wird. Dies ist (meiner ansicht nach weder mit html, noch mit php --> sevrerseitig) möglich.
Verbessert mich gerne, wenn ich falsch liege ...
Nur leider funktioneirt es bisher nicht so wie es soll ....
Die phpBB anmeldung sieht gekürzt eigentlich wie folgt aus:
<form action="./phpBB3/ucp.php?mode=login" method="post">  
    <h3><a href="./phpBB3/ucp.php?mode=login">Anmelden</a>  •   <a href="./ucp.php?mode=register">Registrieren</a></h3>  
    <fieldset>
        <label for="username">Benutzername:</label>   
        <input type="text" name="username" id="username" size="10" title="Benutzername" />  
        <label for="password">Passwort:</label>   
        <input type="password" name="password" id="password" size="10" title="Passwort" />  
        <input type="submit" name="login" value="Anmelden" />  
    </fieldset>
</form>
Habe schon einige lösungsansätze probiert, habe jedoch nicht herausbekommen, wie ich mit javascript das formular absende (fürn anfang mit festen werten: Login: Administrator; PW: muster ...

Ein Lösungsansatz war dieser:

<script language="JavaScript">  
<!--

function post_to_url(path, params, method) {
    method = method || "post"; // Set method to post by default, if not specified. 

    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    var form = document.createElement("form"); 
    form.setAttribute("method", method); 
    form.setAttribute("action", path); 

    for(var key in params) {
        var hiddenField = document.createElement("input"); 
        hiddenField.setAttribute("type", "hidden"); 
        hiddenField.setAttribute("name", key); 
        hiddenField.setAttribute("value", params[key]); 

        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);    // Not entirely sure if this is necessary
    form.submit();
}
//-->
</script>

<body onload="post_to_url('./phpBB3/ucp.php?mode=login',["'username':'Administrator'","'password':'muster'"])";/>  
Aaron2222
Aaron2222 24.09.2010 um 17:26:36 Uhr
Goto Top
Hier noch ein kleines script, welches auf nicht funktioniert ...
(einzige Änderung, submit() wird durch javascript ausgeführt ...)
<script type="text/javascript">  
function submitform()
{
    document.forms["login_fenster"].submit();  
}
</script>
<form id="login_fenster" action="./phpBB3/ucp.php">  

	Login:<input type="text" name="username" value="Administartor"/>  
	Pass:<input type="text" name="password" value="muster"/>  


<a href="javascript: submitform()">Submit</a>  
</form>