web-dev-qa-db-fra.com

Est-il possible de rediriger un utilisateur administrateur vers un composant spécifique après la connexion?

Pas grand chose à ajouter à la question, en fait, j'essaie de rediriger un groupe d'utilisateurs spécifique vers une zone spécifique après s'être connecté au back-end de l'administrateur, mais je ne suis pas sûr que ce soit possible.

Bien que ce soit un objectif à part, je souhaite également masquer le menu admin.

6
Merlin

Vous pouvez créer un petit plugin pour effectuer la redirection. Voici quelque chose que je me suis vite moqué:

class plgSystemMYPLUGIN extends JPlugin
{

    public function onUserAfterLogin()
    {
        $app = JFactory::getApplication();

        if ($app->isAdmin()) 
        {
            $user   = JFactory::getUser();
            $groups = $user->get('groups');

            $groups_to_redirect = array('13', '10');

            if (in_array($groups[0], $groups_to_redirect))
            {
                $url = JRoute::_('index.php?option=com_hellowworld');
                $app->redirect($url);
            }           
        }
    }

}

J'ai utilisé 10 et 13 à titre d’exemple d’ID de groupe d’utilisateurs, vous devrez donc les modifier selon vos besoins.

Veuillez également noter que je n'ai pas testé cela, mais j'espère que cela vous orientera dans la bonne direction.

10
Lodder

Que diriez-vous de cette extension? Je l'avais déjà utilisé lorsque j'avais besoin de rediriger les utilisateurs vers une direction donnée:

http://extensions.joomla.org/extensions/extension/access-a-security/site-access/redirect-on-login

1
Si Thu

Sa méthode de raccourci juste en 3.x

Ouvrir un chemin dans les plugins Joomla\authentication\cookie\cookie.php

Dans la fonction onUserAfterLogin ($ options),

        $user   = JFactory::getUser();
        $groups = $user->get('groups');

            if(in_array(10, $groups)) 
            {
             $url = JRoute::_('index.php?option=com_students');
             $this->app->redirect($url);
            } 
0
Satyanarayana