+ Antworten
Seite 2 von 2 ErsteErste 1 2
Ergebnis 11 bis 19 von 19

Thema: User und Sessions

  1. #11
    Neu an Board
    Registriert seit
    19.05.2008
    Beiträge
    29
    Bedankte sich
    3
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    ist das denn ausreichend, lediglich die sql befehle in den vorhandenen bridges auf die neue tabelle umzuschreiben, müsste es nicht noch mehr Parameter geben?

  2. #12
    Neu an Board
    Registriert seit
    19.05.2008
    Beiträge
    29
    Bedankte sich
    3
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    ich komme hier irgendwie nicht weiter...

    die registrierung ist mehr oder weniger simpel zu händeln, da es sich lediglich um Einträge in die Datenbank handelt, die kaum verknüpfungen bedarfen,

    aber

    wie mache ich das mit den Sessions? Ich habe selbst nicht viel Erfahrung und Wissen über Sessions, ich weiß, dass Joomla diese per Keks aufn rechner speichert, ich weiß, dass es das andere System nicht tut, das speichert als Keks Userid und Userpass (verschlüsselt), ich weiß aber nicht, wie ich beide rythmen am besten mit einander verbinde, wenn man sich im ladder einloggt?

    Mit Besten Grüßen

  3. #13
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.939
    Bedankte sich
    13
    Erhielt 640 Danksagungen
    in 577 Beiträgen

    Standard

    Du musst in Joomla ein user-Plugin erstellen, das beim Event onLoginUser den Cookie für das Laddersystem erstellt. Umgekehrt muss das laddersystem bei seinem logIn den Joomla-Cookie setzen oder du blendest hier den Login ganz aus.

    Dann beim Joomla-Logout mit dem Event onLogoutUser auch den ladder-Cookie löschen.

    Für das Registrieren würde ich es auch bei einem der beiden Systeme deaktivieren und in Joomla z.B. bei onAfterStoreUser den ladder-user anlegen, (evtl auch löschen bei onAfterDeleteUser oder onBeforeDeleteUser, das macht es dann auch beim Löschen im Admin glaube ich)
    Geändert von progandy (22.03.2010 um 11:25 Uhr)
    Suche und FAQ helfen bei Problemen oft weiter!

  4. #14
    Neu an Board
    Registriert seit
    19.05.2008
    Beiträge
    29
    Bedankte sich
    3
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    hi progandy,

    ich habe das mit dem Cookie erstmal versucht, damit Joomla die beiden Kekse für das Laddersystem setzt, sobald sich jemand einloggt, leider ohne Erfolg, dazu kommt, dass ich die Abfrage auch nicht im Debug Modus gesehen habe, es kann also auch sein, dass die neue Athentification übergangen wird?

    Hier mal das Plugin, vllt. habe ich ja nen groben Fehler gemacht:

    PHP-Code:
    <?php

    defined
    ('_JEXEC') or die( 'Restricted access' );

    jimport'joomla.plugin.plugin' );

    include(
    "config/config.php");
    include(
    "function/global.php");

    class 
    plgAuthenticationLadder extends JPlugin
    {

        function 
    plgAuthenticationLadder(& $subject$config) {
            
    parent::__construct($subject$config);
        }

        function 
    onAuthenticate$credentials$options, &$response )
        {
            
    jimport('joomla.user.helper');

            if (empty(
    $credentials['password']))
            {
                
    $response->status JAUTHENTICATE_STATUS_FAILURE;
                
    $response->error_message 'Empty password not allowed';
                return 
    false;
            }

            
    $conditions '';

            
    $db =& JFactory::getDBO();

            
    $query 'SELECT `id`, `pass`'
                
    ' FROM `users`'
                
    ' WHERE alias=' $db->Quote$credentials['username'] )
                ;
            
    $db->setQuery$query );
            
    $result $db->loadObject();


            if(
    $result)
            {
                if (
    $result->password == $credentials['password']) {
                    
    $tday=date("Y-m-d H:i:s");
                                    
    mysql_query("UPDATE users SET lastlogin='$tday' WHERE alias=".$credentials['username']."");

                                    
    setcookie("PID","");
                                    
    setcookie("PPW","");
                                    
    $cexpire="never";
                                    
    cookie_crisp("PID"$response->id$ccode$cexpire);
                                    
    cookie_crisp("PPW"$response->pass"yes"$cexpire);
                } else {
                    
    $response->status JAUTHENTICATE_STATUS_FAILURE;
                    
    $response->error_message 'Invalid password';
                }
            }
            else
            {
                
    $response->status JAUTHENTICATE_STATUS_FAILURE;
                
    $response->error_message 'User does not exist';
            }
        }

            function 
    cookie_crisp($cname$cvalue$ccode$cexpire){
                global 
    $timeout;
                if((
    $cname) && ($cvalue)){
                    
    setcookie("$cname");
                    if(
    $ccode){
                        
    $cvalue=base64_encode($cvalue);
                    }

                    if(!
    $cexpire){
                        
    $cexpire=(time()+$timeout[cookie]);
                    }

                    if(
    $cexpire=="never"){
                        
    $cexpire=(time()+60*60*24*365);
                    }

                    if(
    $cexpire=="session"){
                        
    $cexpire=0;
                    }

                    
    $cpath="/";
                    
    $cdomain="";
                    
    setcookie("$cname","$cvalue",$cexpire);
                }

            }
    }

  5. #15
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.939
    Bedankte sich
    13
    Erhielt 640 Danksagungen
    in 577 Beiträgen

    Standard

    Du musst onLoginUser verwenden.
    Suche und FAQ helfen bei Problemen oft weiter!

  6. Erhielt Danksagungen von:


  7. #16
    Neu an Board
    Registriert seit
    19.05.2008
    Beiträge
    29
    Bedankte sich
    3
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Vielen Dank, das hat schon sehr gut weitergeholfen, nun eine allgemeine Frage, kann ich in dieser Datei keine anderen Funktionen unterbringen, wie z.b. meine cookie function?

    Diese habe ich nämlich direkt darunter platziert (wobei Platzierung eigentlich egal sein sollten).

    Fatal error: Call to undefined function cookie_crisp()

    Oder könnte der Fehler eine andere Ursache haben?

    Mit Besten Grüßen

  8. #17
    Neu an Board
    Registriert seit
    19.05.2008
    Beiträge
    29
    Bedankte sich
    3
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    noch was allgemeines:

    dient onBeforeStoreUser und onAfterStoreUser für die Speicherung der Sessions oder zum anlegen von Accounts?

    Mit Besten Grüßen

  9. #18
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.939
    Bedankte sich
    13
    Erhielt 640 Danksagungen
    in 577 Beiträgen

    Standard

    Die Store-Funktionen werden beim erstellen oder aktualisieren des Datenbankeintrags des Benutzers aufgerufen. (nicht Session, diese wird ja bei Login bzw. Logout geöffnet oder geschlossen)

    Funktionen, die innerhalb einer Klasse definiert werden, rufst du mit this->Funktion() auf.
    PHP-Code:
    class ... {
       function 
    bla() {
          
    $x this->cookie_crisp();
       }
       function 
    cookie_crisp() {
          return 
    5;
       }


    Geändert von progandy (23.03.2010 um 13:29 Uhr)
    Suche und FAQ helfen bei Problemen oft weiter!

  10. Erhielt Danksagungen von:


  11. #19
    Neu an Board
    Registriert seit
    19.05.2008
    Beiträge
    29
    Bedankte sich
    3
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Besten Dank, jetzt kommt ein anderes Problem, der Cookie der erstellt wird, lässt sich nicht löschen, ich habe es mit folgender Weise versucht:

    PHP-Code:
    setcookie("PID"""time()-60*60*24"/nocommand/"); 
    Aber leider passiert nix...

    EDIT: Hat sich erledigt, habs hinbekommen...
    Geändert von Smokeler (23.03.2010 um 21:54 Uhr)

+ Antworten
Seite 2 von 2 ErsteErste 1 2

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein