2010-10-18 13 views
5

Quando si scrivono regole per il controllo accessi nei controller yii, i possibili parametri da impostare per una regola sono 'azione' - imposta a quale azione si applica la regola; 'utenti', 'ruoli', ecc.yii regole di controllo del controllo accessi nei controllori

Ora, sia la guida yii (pdf) che il riferimento (ho il file chm) dicono che è possibile impostare, anche, un id controller per il controller la regola dovrebbe applica a.

Ora, se stiamo già mettendo queste regole in un/file di classe di controllo, come potremmo essere in grado di mettere qualche altro controllore (diversa da quella attuale) come parametro qui, il che significa come sarebbe qualche altro controllore di chi vi nominiamo qui - come farebbe a sapere che esiste una regola che si applica ad esso, dal momento che è scritta in una classe/file controller completamente diversa?

In che modo il controller deve essere al corrente di una regola che la menziona, se è scritta al di fuori di essa, in un controller completamente diverso?

+1

Qualcuna delle nostre risposte ha risolto la tua domanda? Grazie. – thaddeusmt

risposta

3

È possibile collegare in CWebApplication :: beforeControllerAction() per applicare filtri prima che il controllore si fa ancora la richiesta.

~ thinkt4nk

+0

Può per favore dettagliare la sua risposta? Come posso collegarmi al metodo beforeControllerAction? Puoi fare un esempio per favore ?? – acidghost

3

Un caso in cui è possibile utilizzare questo è se si impostano alcune regole in un controller di base ed estenderlo. Forse hai alcuni controller di solo amministratore, quindi puoi salvare un piccolo codice semplicemente aggiungendo queste regole in un controller di base che estende tutti gli altri controller?

Inoltre, questo potrebbe essere utilizzato se si collegano i Behaviour al controller?

Non ho mai usato questa regola, sto solo ipotizzando. :)

0

Caro amico, Yii darci 3 tipi di gruppi di utenti (*) - per Tutti (guest), (@) - per iscritto, (admin) - per il super-utente che possiamo usarlo da accessRules controller/public function()

aggiungere se vuoi diritti utente personalizzata rispetto a u può anche utilizzare 1) ttp: //www.yiiframework.com/extension/yii-user-management/ eu possono anche utilizzare "Yii-Rights" che è la soluzione migliore per la personalizzazione 2) http://www.yiiframework.com/forum/index.php?/topic/10556-extension-rights/page_ p _51869 # entry51869

Regard, Bhavik Chauhan

+0

@ - per utenti registrati e autenticati –

Problemi correlati