#1 23. Dezember 2008 Zend Auth Hi, Ich weiß nicht, ob sich hier jemand mit dem Zend Framework auskennt, aber ich hab grad ein Problem. Undzwar hab ich mir mit diesem Tutorial hier ein Login geschrieben: http://akrabat.com/wp-content/uploads/getting-started-with-zend-auth_108.pdf Funktioniert alles eigentlich ganz gut, die Abfrage, ob die Zugangsdaten korrekt sind, funktioniert auch. Ich hab nur ein Problem mit dem Storage, um dann später meine Daten auszugeben (Benutzername z.B. für eine Begrüßung). In meinem AuthController steht: PHP: $auth = Zend_Auth :: getInstance (); $result = $auth -> authenticate ( $authAdapter ); if ( $result -> isValid ()) { // success: store database row to auth's storage // system. (Not the password though!) $storage = $auth -> getStorage (); $storage -> write ( $authAdapter -> getResultRowObject ( null , 'password' )); $this -> _redirect ( '/' );} Wird auch korrekt abgefragt, da hab ich mich schon vergewissert. In meinem IndexController steht dann: PHP: function init (){ $this -> initView (); $this -> view -> baseUrl = $this -> _request -> getBaseUrl (); $this -> view -> user = Zend_Auth :: getInstance ()-> getIdentity ();} In meiner View möchte ich dann den user ausgeben: PHP: echo $this -> escape ( $this -> user -> real_name ); real_name steht in der Datenbank in der Tabelle user. Die Abfrage funktioniert korrekt, somit kann ich davon ausgehen, dass die Verbdinung funktioniert. Irgendwie krieg ich das mit dem store nicht ganz hin. Folgende Fehlermeldung / Notiz bekomme ich: Code: Notice: Trying to get property of non-object in /data/www/application/views/scripts/index/index.phtml on line 4 Ich hoffe, mir kann hier jemand weiter helfen Danke schon mal, Hapablap + Multi-Zitat Zitieren
#2 25. Dezember 2008 AW: Zend Auth im prinzip wird das so aufgerufen: PHP: $auth = Zend_Auth :: getInstance (); $login = $auth -> hasIdentity (); if( $login ) { $identity = $auth -> getIdentity (); $this -> user_id = $identity [ 'user_id' ]; .... so kannst du damit arbeiten und auf die jeweiligen attribute zugreifen. das speichern habe ich in einem extra AuthAdapter gelöst: PHP: $_identity = array( 'user_id' => $result [ 0 ][ 'user_id' ], 'username' => $result [ 0 ][ 'nickname' ], 'name' => $result [ 0 ][ 'name' ], 'vorname' => $result [ 0 ][ 'vorname' ], 'role_id' => $result [ 0 ][ 'gruppen_id' ], 'role' => $result [ 0 ][ 'gruppe' ], 'mail' => $result [ 0 ][ 'email' ]); return new Zend_Auth_Result ( Zend_Auth_Result :: SUCCESS , $_identity , array( 'Erfolgreich authentifiziert an der Datendank' )); + Multi-Zitat Zitieren