Yii Framework Forum: Autenticazione e registrazione personalizzata - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Autenticazione e registrazione personalizzata Rate Topic: -----

#1 User is offline   pippuccio76 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 156
  • Joined: 10-September 13

Posted 04 December 2014 - 04:31 PM

Salve , per studio e per esigenza volevo creare una autenticazione/registrazione ad hoc in cui inserivo un numero maggiore di campi nel model user .
Mi rendo conto però che sono ad un livello molto basso .
Inanzi tuttto ho creatro il mio db user con i campi :

id,username,password,nome[null],cognome[null],telefono[null],email,lastvisit,admin,attivo.

Ho creato il model con gii.

Ho creato poi un controller in cui uso il model user.
Devo ora creare nel models 2 form , uno per il login che chiede username o email e pw .
L'altro per la registrazione in cui metto tutti i campi.

Ora vengono i problemi :

nel login di sitecontroller ho :

!\Yii::$app->user->isGuest (che so che dice che se l'utente non è non autenticasto) ma non capisco da dove viene...già non capisco Yii::$app(so che i :: sono per un metodo statico).

Normalmente se non utilizzassi il framework passerei i valori(controllati lato client per lunghezze varie ecc.) tramite Post e li confronterei con il database se esatti salverei l'user in una variabile di sessione.

Qui altra domanda vedo che nel loginForm ho $this->rememberme .Come fa yii a immagazzinare i dati dell'utente per un tot di tempo?

Ho altre domande ma per ora mi fermop qui .
0

#2 User is offline   Federico Benedetti 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 82
  • Joined: 11-June 14
  • Location:Italy - Pesaro

Posted 07 December 2014 - 07:05 AM

Ciao, ti rispondo da neofita quindi prendi tutto con le "molle"

1) Yii nasce già con un modulo "basic" di login e la parte Yii::$app->user->isGuest viene gestita da questo modulo. Se non vuoi usare questo modulo e farne uno da zero è ovvio che devi anche preoccuparti di "riempire" queste variabili, prima di poterle usare. In altre parole quando il tuo utente si logga devi settare opportunamente la proprietà isGuest.

2) Anche io ho l'esigenza di avere più campi a disposizione. Però perchè crearti da zero quando puoi trovare già estensioni che fanno questo?
Ad esempio io uso Yii2 amnah user che prevede appunto questa funzionalità

A mio avviso il tuo valore aggiunto lo devi impiegare per sviluppare le cose "proprie" della tua applicazione che la contraddistinguono dalle altre. Mentre per le parti "comuni a tutte" ti conviene partire dalle estensioni che trovi che al 90% son solo da installare e configurare e solo un 10% da personalizzare.

La differenza grossa secondo me sta nel fatto che se prendi un'estensione che utilizzano altre 1.000 persone,è più facile che sia migliormente debuggata e continuamente patchata, mentre se ti fai il tuo codice, devi anche preoccuparti di gestire quella parte lì.

Io uso da poco il framework, ma dalla mia poca esperienza, ho imparato che devi "inserirti nella sua logica" per sfruttare al massimo i benefici che ne derivano.

Saluti
0

#3 User is offline   pippuccio76 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 156
  • Joined: 10-September 13

Posted 13 December 2014 - 05:19 AM

Grazie per la risposta .ho risolto utilizzando l advanced e inserendo manualmente nel model e nei form i campi necessari .non ho ancora capito come far si che solo l admin si l'oggi al back end...
0

#4 User is offline   Nicola 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 271
  • Joined: 13-March 11
  • Location:Italy

Posted 14 December 2014 - 09:03 AM

Prima di andare troppo avanti a tentativi cerca di comprendere alcuni concetti base altrimenti ti ritroverai un'app che funzionicchia ma non saprai mai bene come... e debuggarla sarà poi impossibile.

Tramite Yii::$app riesci ad accedere ai componenti della tua app, nella guida hai una descrizione chiara del tutto.
Compreso questo intuisci che Yii::$app->user è un componente della tua app, di default è (\yii\web\User) che puoi però estendere a tuo piacimento, per capire come estenderlo e perché è necessario capire come funziona l'autenticazione e le autorizzazioni.

Una volta capito il tutto segui i consiglio di Federico, cioè operazioni generiche come l'autenticazione e la gestione delle access list possono essere spesso risolte con estensioni testate e valide già sviluppate dalla comunità!
0

#5 User is offline   pippuccio76 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 156
  • Joined: 10-September 13

Posted 17 December 2014 - 03:43 PM

View PostNicola, on 14 December 2014 - 09:03 AM, said:

Prima di andare troppo avanti a tentativi cerca di comprendere alcuni concetti base altrimenti ti ritroverai un'app che funzionicchia ma non saprai mai bene come... e debuggarla sarà poi impossibile.

Tramite Yii::$app riesci ad accedere ai componenti della tua app, nella guida hai una descrizione chiara del tutto.
Compreso questo intuisci che Yii::$app->user è un componente della tua app, di default è (\yii\web\User) che puoi però estendere a tuo piacimento, per capire come estenderlo e perché è necessario capire come funziona l'autenticazione e le autorizzazioni.

Una volta capito il tutto segui i consiglio di Federico, cioè operazioni generiche come l'autenticazione e la gestione delle access list possono essere spesso risolte con estensioni testate e valide già sviluppate dalla comunità!



Seguendo questa guida :

http://www.yiiframew...admin-and-user/

ho risolto per la parte backend accessibile solo dall'amministratore.

Ora vorrei far puntare un link nel menu (admin in layout/main) del frontend al login del backend,Ho provato con path assoluti ma non funziona ho provato con ../ ma niente .Come faccio?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users