0

私は、私を記憶するチェックボックスを備えたサインインフォームを作成しました。ブラウザを閉じたときにユーザーがサインインしたままにしたり、ブラウザを閉じたときにサインアウトしたりできるようにする方法を知りたいです。サンプルコードはありがたいです。

ここに私のコードがあります

クラス HomeController は BaseController を拡張します {

public function getIndex()
 {    

     if(Auth::check())
         {
              return Redirect::to('profile');
         }

    return View::make('index');

}

public function postRegister()
 {        
         //gets array of the register form input values
         $value = Input::all();

         // create a new instance of the User model
         $user = new User;

         $validate = $user->userValidate($value);

         //checks if the validation for the field fails 
         if($validate->fails())
           {    
               /* $message = $validation->messages();
               return $message; */ 
              return  Redirect::back()->withInput()->withErrors($validate);

           }



                 //adds the users input to speicific field in the users table
                 $user->user_name = $value['username'];
                 $user->email = $value['email'];
                 $user->password = Hash::make($value['password']);

                 //save the inputs to the users table
                 $user->save();

                 return 'information has been stored';



    }

   public function getRegister()
      {      
              $title = 'Register';
             return View::make('register')->with('title',$title); 
      }



  public function getSignIn()
      {
                 $title = 'Signup';
                 return View::make('signup')->with('title',$title);
      }


   public function postSignIn()
     {  

          //user's information
         $credentials = array('email' => Input::get('email'),'password'=>Input::get('password'));

         //logs this user in and checked if they are registered already in 
         if(Auth::attempt($credentials,false))
           {
             return Redirect::to('profile');
           }

       return Redirect::back()->withInput();

     }

}

4

2 に答える 2

1

ログイン方法で有効にするだけです。

if (Auth::attempt(array('email' => $email, 'password' => $password), true))
{
    // The user will now be logged in and remembered
}
else
{
   // Raise a login error
}

この「true」パラメーターは、ユーザーを記憶するためのものです。

Laravel Auth::attempt() メソッドの宣言は次のとおりです。

public function attempt(array $credentials = array(), $remember = false, $login = true)
{
  ...
}
于 2013-07-24T15:10:10.633 に答える
0

ユーザーを識別するために、ユーザーのブラウザーに Cookie を設定することができます (使用している場合は必ずそのことを伝えてください)。ただし、これは悪意のあるユーザーによって変更される可能性があることに注意してください。 PHP Cookie ドキュメント

于 2013-07-24T15:10:39.450 に答える