2012-01-13 16 views
5

Me estoy poniendo en práctica el control de acceso basado en roles usando yü marco para la aplicación mencionada en el desarrollo de aplicaciones web usando ágil book.I marco Yii han implementado todas las cosas hasta el número de la página 189.Yii marco: control de acceso basado en función

La página número 189 dice que el siguiente método se puede usar para verificar si el usuario tiene permiso para realizar alguna acción o no.

Si (Yii :: aplicación() -> usuario-> checkAccess ('createIssue')) {// realizar la lógica necesaria}

pero este método siempre devuelve falsa para usuarios que tienen sido asignado a createIssue operación

siguiente es el diagrama de base de datos para RBAC

enter image description here

estoy vinculando el ID de usuario y la función de la tabla de autoajuste con el siguiente comando.

$ auth = Yii :: app() -> authManager; $ auth-> assign ('miembro', 1);

Como puede ver, mi tabla de usuario y tabla de autoajuste no tienen relación directa.

Y he configurado el archivo en la carpeta de configuración main.php

Estos son los que todos hemos hecho hasta ahora y podría recibir ninguna parte del cuerpo de su conocimiento conmigo si alguna cosa no se encuentra aquí. Gracias de antemano por cualquier ayuda.

Respuesta

6

¡Vamos, hombre! Por supuesto, debe haber una relación directa entre usuarios y asignaciones. En el siguiente fragmento de código:

$auth=Yii::app()->authManager; $auth->assign('member',1) 

'miembro' pertenece a authiments, y '1' es el ID del usuario que se está asignado con ese papel. "ID de usuario", en la tabla "authassigment", debe apuntar a la tabla de usuarios.

+0

sí, había cometido el error estúpido. perdón chicos por perder el tiempo, – KItis

+2

No sea tan grosero consigo mismo, ese tipo de descuidos son bastante comunes. Es un placer ayudarte. –

Cuestiones relacionadas