2016-04-27 17 views
4

laravelでユーザをregisertingしているときに問題が発生しました。$userすべての配列要素を含む配列で、次のコード結果を自動ログインしているとします。false。データベースに保存されているパスワードはhash::make('password')です。登録後に自動ログインする方法

$user_id = $this->user_model->addUser($user); 
$post = array('password' => $pass_for_auth, 'email' => $email); 
var_dump(Auth::attempt($post,true));die; 

いずれかはあなたが彼の$user_idを介してユーザーにログインしようとすることができ、正しい問題

答えて

4

は何を教えてもらえます。したがって、コードは次のようになります。

$user_id = $this->user_model->addUser($user); 
$post = array('password' => $pass_for_auth, 'email' => $email); 
Auth::loginUsingId($user_id); 

user_idを返すようにユーザーを作成し、user_idを使用してユーザーにログインできます。

希望の作品です!

詳細情報:これは、ユーザー登録を行うための標準的な方法だろうhttps://laravel.com/docs/5.2/authentication#other-authentication-methods

4

- 新しいユーザーモデルのインスタンスを作成し、::ログインを()AUTHするためにそれを渡します

// do not forget validation! 
$this->validate($request, [ 
      'name' => 'required|max:255', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|confirmed|min:6', 
     ]); 

$data = $request->all(); 

$user = User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
     ]); 

Auth::login($user); 
+0

は何ですかこの認証クラス?あなたは完全な名前空間を指定できますか? –

+0

@RameshPareekそれを必要としません。エイリアスがあります。ちょうど 'Auth;を使ってください。本当に欲しいのであれば、 'config/app.php'の' aliases'キーでパスを見つけることができます: 'Illuminate \ Support \ Facades \ Auth'です。 – totymedli

関連する問題