Gestione autenticazione

Ciao a tutti, per l'autenticazione io uso qualche cosa del tipo:

$authAdapter = new Zend_Auth_Adapter_DbTable($users->getAdapter(),'clienti');

                $authAdapter->setIdentityColumn('code')
                            ->setCredentialColumn('psw');
                $authAdapter->setIdentity($data['code'])
                            ->setCredential($crypted = crypt(md5($data['psw']), md5($data['psw'])));
                $result = $auth->authenticate($authAdapter);                         

                if($result->isValid())
                {

      $users = new Application_Model_DbTable_Users();
                    $code = $result->getIdentity();

                    if (!$users->isActive($code))
                    {
                   $this->_logger->warn('Login - not activated:  ' . $code );
                    }

per poi recuperare il "code" (id della mia tabella) in tutte le funzioni del cotroller e del model facendo:

$code = $this->_session_data-> code;

Secondo voi questa soluzione è corretta/sicura?

Grazie

inviato 6 anni fa
il_dandi
modificato 6 anni fa
Mario Santagiuliana
X 0 X

Invito all'uso del tag php o code per riportare il codice.

Perchè hai il dubbio che questa soluzione non sia corretta o sicura?

Hai già visto zend_registry?

http://zendframework.com/manual/en/zend.registry.using.html

Forse fa al caso tuo.

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Prima di tutto ti ringrazio per l'aiuto!!

Quindi mi confermi che il mio metodo per gestire l'autenticazione è corretto??? il dubbio è legato al fatto che non so se è scritto/gestito correttamente dato che sto facendo le prime prove

Per quanto riguarda invece la tua seconda soluzione, non conoscevo Zend_Registry

sembra molto interessante per gestire il salvataggio di valori da riutilizzare in tutta l'app!!

Grazie ancora

risposto 6 anni fa
il_dandi
X 0 X

Come per l'altra discussione, per l'autenticazione di consiglio di leggere l'articolo di Gianni:

http://www.phpnews.it/forum/zend-framework/layout-e-gestione-contenuti/msg27004/#msg27004

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ho provato ad aprire il tuo link ma visualizzo solo la pagina generale del forum, non un thred specifico.

Potresti dirmi cmq se la mia soluzione è corretta?

Grazie ancora

risposto 6 anni fa
il_dandi
X 0 X

Rivedi il link.

Funziona...

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ho provato a seguire la tua soluzione per la gestione delle variabili di sessione

nel mio controller (nell'action di login) faccio:

                    $user = $users->getUser($codicecliente);
                    $passwordmodificata = $user['passwordmodificata'];
                    $mailverificata = $user['mailverificata'];
                    Zend_Registry::set('passwordmodificata', $passwordmodificata);
                    Zend_Registry::set('mailverificata', $mailverificata);

                    $this->_redirect('index/index');

e poi nelle viste vorrei fare qualche cosa tipo:

         <?php if(Zend_Registry::get('passwordmodificata') == 0){ ?> 

            Modificare la password utilizzata

         <?php }?> 

ma ottengo

Application error

Exception information:

Message: No entry is registered for key 'passwordmodificata'

cosa sbaglio??

Grazie

risposto 6 anni fa
il_dandi
X 0 X

No, scusami, fai riferimento alla guida di Gianni per l'autenticazione.

Nell'altra discussione, a questo messaggio, ho sbagliato, intendevo l'uso di zend_session, non zend_registry.

Qui invece temo di aver capito male un po' di cose e ti ho suggerito di usare zend_registry mantiene in "memoria" i dati fino alla fine dell'esecuzione dello script. Per cui se hai necessità di utilizzare una variabile in più script in momenti differenti, dopo che hai già mandato delle view al tuo utente per esempio, è più utile zend_session e non più zend_registry.

risposto 6 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda