Modulo Admin E Gestione Rbac

Ciao Ragazzi,

anche io come molti mi sono avvicinato da poco a Yii.

Ho compreso il meccanismo mvc, quello dei temi (ho impostato booster).

Sono riuscito a dividere la parte frontend del sito che sto realizzando rispetto a quella admin semplicemente creando un modulo “Admin” da Gii e referenziandolo poi nel main.php dell’app.

Detto questo vorrei capire tre cose che non mi sono ancora chiare:

  • Come proteggere l’accesso a quest’area (admin) con user e pwd

  • Come poter gestire utenti e ruoli dal pannello Admin creato sopra (ho letto di RBAC, Modulo Right, Utenti ma non mi è molto chiaro se devo creare/importare altri moduli, quali utilizzare, come utilizzarli…

  • Come definire layout differenti per sezione sito e sezione admin (includo una nuova cartella theme dentro il modulo?)

Grazie a tutti anticipatamente per l’aiuto…

Era meglio che facevi 3 thread, però provo a rispondere lo stesso.

  • layout: ogni modulo / controller / vista può essere impostato/a su un layout specifico. guarda le realtive proprietà layout

  • utenti + accesso tramite login e pwd

L’ideale è gestire gli utenti secondo la teoria dell’RBAC. Yii rende flessibilissima la gestione: puoi nascondere interi moduli o semplicemente una singola icona a seconda dei permessi dell’utente

Se decidi di implementare l’RBAC, allora puoi semplicemente copiare il login della applicazione dentro al modulo, oppure spostarlo se serve solo li. Ma è meglio lasciarlo a livello app.

Dopo di che i contenuti pubblici non avranno nessun ‘checkAccess’, mentre l’intero modulo admin sarà visibile e le varie action fruibili solo se si passa il "checkAcces(‘admin’) ", per fare un esempio.

Io, sinceramente, fossi in te, affronterei una questione alla volta. Tranne RBAC + login che van di pari passo.

Noi siamo sempre qui.

PS: Ho letto un limbro sempliemente FANTASTICO che è “Web Application Development with Yii and PHP”. Ha una sezione intera dedicata all’RBAC, una dedicata ai tema, e una dedicata al login. E’ brutto da dire, ma lo trovi in rete. Io ho comprato il cartaceo perchè è semplicemente insostituibile.

Grazie mille per la risposta realtebo.

L’idea era quella di fare in modo da avere sul front end un pulsante admin. Al click, verificata l’assenza di permessi da parte dell’utente, mostrare un form di login. Una volta dentro però, in funzione del tipo di utente loggato (es. amministratore, visitatore, utente, etc) mostrare dei controlli piuttosto che altri.

L’attuale sistema di login mi sembra abbastanza scarno e non si basa su DB quindi eviterei di portarlo nel modulo. Vorrei realizzare o riutilizzare qualcosa di più stratificato e ben fatto ovviamente cercando di capirne i meccanismi.

Il mondo di Yii mi sta affascinando sempre più e vorrei poter riutilizzare parte del codice anche… quindi nel caso di un sistema di accesso basato su ruoli… potrei pensare, una volta realizzato e messo appunto, di riutilizzarlo nei progetti successivi, insieme, magari, a tutta l’area di amministrazione.

Cmq grazie mille ancora per la disponibilità.

aspetta, il fatto che il login di yii sia scarno che non vuole dire che sia anche scarso.

bastano 10 righe per modificare il codice generato in automatico in modo che faccia il login da db.

e basta una riga (Yii::app()->user->isGuest) per determinare se l’utente NON ha fatto il login .

Cerca sul web quel libro, è fondamentale che capisci come fa le cose yii prima di scrivere inutilmente del codice!

dopo di che, la posizione del login non ha alcun significato. Ed è concettualmente corretto che il login stia in site/login. non fare fatiche inutili. Prima lo fai funzionare, poi lo modifichi.

Se vuoi, ti guido passo passo, non aver paura, ma ti prego non scrivere codice inutile :)

EDIT: rileggendo il post, … scusami per la paternale …

Ma quale parternale! :) Sono qui per imparare… Dò uno sguardo al libro… vediamo se riesco a schiarirmi un pò le idee… :)