2016-10-26 15 views
-1

私はロールベース認証を実装しようとしました。認証は正しく行われます。ユーザーが管理者の場合は、新しい従業員を登録することができます。しかし、問題は、登録フォームに入れられたデータがデータベースに保存されていないことです。ルートリダイレクトは正しいものの、データは保存されません。私は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には、あらかじめ定義されたミドルウェアを持つコンストラクタがあります。それを削除しました。私のコードは私が望むように動作します。

関連する問題