2010-10-18 3 views
5

Cuando se escriben reglas para control de acceso en controladores yii, los parámetros posibles a establecer para una regla son 'acción' - establece a qué acción se aplica la regla; 'usuarios', 'roles', etc.yii reglas de filtro de control de acceso en los controladores

Ahora, tanto la guía yii (pdf) como la referencia (tengo un archivo chm) dicen que es posible establecer, también, una identificación de controlador para el controlador; aplicar para.

Ahora, si ya nos estamos poniendo estas reglas en una clase de controlador/archivo, ¿cómo podríamos ser capaces poner algún otro controlador (que no sea la actual) como el parámetro de aquí, lo que significa cómo sería algún otro controlador cuya identificación mencionamos aquí, ¿cómo sabría que hay una regla que se aplica a ella, ya que está escrita en una clase/archivo de controlador completamente diferente?

¿Cómo sería el controlador consciente de una regla que lo menciona, si está escrito fuera de él, en un controlador completamente diferente?

+1

¿Alguna de nuestras respuestas resolvió su pregunta? Gracias. – thaddeusmt

Respuesta

3

Puede enlazar en CWebApplication :: beforeControllerAction() para aplicar los filtros antes de que el controlador aún recibe la solicitud.

~ thinkt4nk

+0

¿Puede detallar su respuesta? ¿Cómo puedo conectarme al método beforeControllerAction? ¿Puedes dar un ejemplo, por favor? – acidghost

3

Un caso donde podría usar esto es si establece algunas reglas en un controlador base y lo extiende. Tal vez tenga algunos controladores solo de administrador, entonces puede guardar un pequeño código simplemente agregando estas reglas en un controlador base que extiendan todos los demás controladores.

Además, esto podría usarse si está adjuntando Comportamientos al controlador?

Nunca he usado esta regla, solo estoy planteando la hipótesis. :)

0

Estimado amigo, Yu nos dan 3 tipos de grupos de usuarios (*) - para Todos (invitado), (@) - para registrada, (admin) - para superusuario podemos usarlo desde accessRules controlador/función pública()

añadir si quieres derechos de usuario personalizados de u también puede utilizar 1) ttp: //www.yiiframework.com/extension/yii-user-management/ yu también pueden utilizar "Yii-Rights" que es mejor para la personalización 2) http://www.yiiframework.com/forum/index.php?/topic/10556-extension-rights/page_ p _51869 # entry51869

Regard, Bhavik Chauhan

+0

@ - para usuarios registrados y autenticados –

Cuestiones relacionadas