views:

122

answers:

2

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?

+3  A: 

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. :)

Rakward
That's going to redirect all users, not ones with a specific role.
Dave Reid
Ah, I didn't read the question properly, my bad.You can create a small module then and use hook_user with $op = login, check the user's role and then do a redirect perhaps?
Rakward
+2  A: 

There are modules that do this (besides Trigger+Actions), such as LoginDestination: http://drupal.org/project/login_destination. This Drupal forum post has a bit more info about it as well.

Dave DeLong

related questions