Данные зарегистрированного пользователя не сохраняются в базе данных. Ларавел 5.2
Я пытался реализовать проверку подлинности на основе ролей. Аутентификация выполнена правильно. Если пользователь только админ, то он может зарегистрировать нового сотрудника. Но дело в том, что данные, введенные в регистрационную форму, не сохраняются в базе данных. Перенаправления маршрута правильные, но данные не сохраняются. Я использую встроенную систему аутентификации laravel 5.2.
Route:: get('/register',['middleware'=> 'roles', function(){
return view('auth.register');
}]);
промежуточный слой:
public function handle($request, Closure $next)
{
if ($request->user()==null)
{
return redirect('/login');
}
if (!$request->user()->isAdmin()){
return redirect('books');
}
return $next($request);
}
}
Модель пользователя:
public function roles(){
return $this->belongsToMany('App\Role','roles_users', 'user_id', 'role_id');
}
public function isAdmin() {
return in_array(2, $this->roles()->pluck('role_id')->all());
}
если я удаляю промежуточное ПО, тогда зарегистрированные данные сохраняются правильно.
1 ответ
Я решил свою проблему. Во встроенном AuthController есть конструктор с предопределенным промежуточным программным обеспечением. Удалил это. Мой код работает так, как я хотел.