Support the ongoing development of Laravel.io →
Authentication Security

I just want to assign a role to newly registered user. How I can achieve this in Laravel 5 with Entrust? I am using Entrust for roles and permissions. Last time I tried to fire event after user registration in a file in vendor folder. Is there any way to fire an event for role assignment without modifying anything inside vendor folder? If yes then where should I fire event? I don't want to modify anything inside my vendor folder like firing event in postRegister() in AuthenticatesAndRegistersUsers.php because new updates will overwrite my code.

Code on this link looks good but i don't know entrust has registration event or not. http://laravel.io/forum/07-02-2014-entrust-assign-role-on-user-signup

Here is my code in routes.php:

// this event is firing on user login and i am getting user object
Event::listen('auth.login', function($user) {
   var_dump($user);
   die(__LINE__);
});

// this event is not firing on user registration
Event::listen('auth.register', function($user) {
   var_dump($user);
   die(__LINE__);
   //	$donor_role = DB::table('app_roles')->where('name', '=', 'donor')->pluck('id');
   //	$user->roles()->attach($donor_role);
   //	return false;
});

Please help me out.

Last updated 3 years ago.
0

Probably not the best way, but I would put it in app/Services/Registrar.php - Create() where the user is created.

0

Sign in to participate in this thread!

Eventy

Your banner here too?

developer devoper Joined 13 May 2015

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2025 Laravel.io - All rights reserved.