Dans mon composant personnalisé, j'aimerais pouvoir restreindre des vues spécifiques à certains groupes d'utilisateurs uniquement. Si je crée un élément de menu pour l'une de mes vues, c'est assez facile à faire: je sélectionne simplement le niveau d'accès pour cet élément de menu et j'ai terminé.
Maintenant, le problème survient si quelqu'un essaie d'accéder directement à une URL avec option = com_mycomponent, ou si l'une des redirections internes de mon composant va sur une page sans Itemid assignée ... dans ce cas, c'est le composant lui-même qui a besoin pour vérifier le groupe d'utilisateurs et déterminer s'il est capable d'afficher cette page ... comment puis-je restreindre cela dans mon code? Juste une simple vérification codée en dur pour le groupe d'utilisateurs de l'utilisateur? Ou existe-t-il une manière "standard" de procéder?
J'ai vérifié la documentation et j'ai trouvé ceci:
http://docs.joomla.org/J2.5:How_to_implement_actions_in_your_code
mais c'est pour ce que l'utilisateur peut faire, pas pour ce que l'utilisateur peut voir. J'ai également trouvé ce fil de discussion:
http://forum.joomla.org/viewtopic.php?t=530721
le code au début est assez ancien, mais à la fin il est recommandé d'utiliser ceci:
http://api.joomla.org/cms-3/classes/JUser.html#method_authorise
Comment dois-je procéder pour cela? Dois-je définir des actifs pour l'objet principal généré par ma vue afin de pouvoir tester son accès avec JUser?
Merci d'avance.
la source
Voici le code dont vous avez besoin pour commencer à vous montrer comment voir dans quels groupes un utilisateur se trouve.
la source
Probablement la réponse tardive à cette question. Mais voici ce que j'ai utilisé:
Dans le fichier controller.php principal, j'ai remplacé la fonction d'affichage comme suit:
la source