En mi componente personalizado, me gustaría poder restringir vistas específicas solo a ciertos grupos de usuarios. Si creo un elemento de menú para una de mis vistas, eso es bastante fácil de hacer: solo selecciono el nivel de acceso para ese elemento de menú y listo.
Ahora, el problema surge si alguien intenta acceder directamente a una URL con option = com_mycomponent, o cualquiera de las redirecciones internas de mi componente va a una página sin Itemid asignado ... en ese caso, es el componente en sí el que necesita para verificar el grupo de usuarios y determinar si puede ver esa página ... ¿cómo puedo restringir eso en mi código? ¿Solo una simple verificación codificada para el grupo de usuarios del usuario? ¿O hay una forma "estándar" de hacerlo?
He estado revisando la documentación y he encontrado esto:
http://docs.joomla.org/J2.5:How_to_implement_actions_in_your_code
pero eso es para lo que el usuario puede hacer, no para lo que el usuario puede ver. También he encontrado este hilo del foro:
http://forum.joomla.org/viewtopic.php?t=530721
el código al principio es bastante antiguo, pero al final se recomienda usar esto:
http://api.joomla.org/cms-3/classes/JUser.html#method_authorise
¿Cómo debo proceder para eso? ¿Debo definir activos para el objeto principal generado por mi vista para poder probar el acceso con JUser?
Gracias por adelantado.
fuente
Aquí está el código que necesita para comenzar a mostrarle cómo ver en qué grupos se encuentra un usuario.
fuente
Probablemente la respuesta tardía a esta pregunta. Pero esto es lo que usé:
En el archivo controller.php principal, anulé la función de visualización de la siguiente manera:
fuente