Issue #31 resolved

Verificar un Rol

Valentina Londoño Marin avatarValentina Londoño Marin created an issue

Hola, tengo una inquietud. En tu wiki das el siguiente código para verificar si un usuario tiene un acceso:

if(Yii::app()->user->checkAccess('admin')){ ...hacer algo...}

Mi duda es si hay forma de verificar no el usuario, si no el rol. Por ejemplo si el usuario pertenece al rol Administradores que le aparezca cierto tipo de cosas....

Comments (2)

  1. Christian Salazar

    Hola valentina, aunque no necesitas saber si el usuario tiene el rol como tal, es decir, no necesitas hacer cosas como roles = dame_roles_de("juan") luego if(tiene_rol_en(roles))...no necesitas hacer eso. Simplemente:

    if(Yii::app()->user->checkAccess('rol_empleado')){ ...hacer algo...}

    el sistema central de autorizacion sabra recursivamente si juan perez tiene el rol_empleado, es mas deberias estar usando el mecanismo de CrugeAccessControlFilter, y esos actions requeridos se los asignas al rol_empleado (por ejemplo) y la llamada a checkAccess detectara si el action solicitado pertenece al usuario consultado haciendo recursion en sus permisos anidados.

  2. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.