Search code examples
drupaldrupal-6drupal-forms

How to redirect user to a specific page after they login if they belong to a certain role?


We have certain users in our member list that have a role "vendor" attached to them. All such members are to be redirected to a certain page upon login. How can this be accomplished?


Solution

  • You can define actions and triggers in Drupal:

    Action(admin/settings/actions) - Redirect to a specific page

    Trigger (admin/build/trigger/user) - After user has logged in

    Try this.

    EDIT (see comments):

    Create a small module to check on a user's login process what role he has and then redirect if neccesary. drupal_goto => redirect-function in drupal

    hook_user =>triggers on user operations

    And for the user's roles:

    GLOBAL $user;
    $roles = $user->roles;
    $vendor = in_array('vendor', $roles);
    

    $vendor then holds a true/false value will decide to redirect or not.

    If you don't know how to do this, just post here and I'll write the module for you. But this would be a good practice for writing future drupa modules for you perhaps. :)