2016-10-26 3 views
-1

Я попытался реализовать проверку подлинности на основе роли. Аутентификация выполняется правильно. Если пользователь только администратор, он может зарегистрировать нового сотрудника. Но дело в том, что данные, помещенные в регистрационную форму, не сохраняются в базе данных. Переадресация маршрута верна, но данные не сохраняются. Я использую встроенную систему autar laravel 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()); 
    } 

если удалить промежуточный ту зарегистрированные данные хранятся надлежащим образом.

ответ

0

Я решил свою проблему. В встроенном AuthController есть конструктор с предопределенным промежуточным программным обеспечением. Удалил. Мой код работает так, как я хотел.

 Смежные вопросы

  • Нет связанных вопросов^_^