Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 14.01.2015 18:03:48

Разлогинивание после каждого обновления страницы

Доброго времени суток. Сделал регистрацию и авторизацию на Ларавеле. Все работает, но есть проблема, после обновления страницы, или перехода на другую я теряю залогининового пользователя.

Мой код.

 public function LogIn()
{
	$Data = Input::all();

	$Validator = $this::ValidateInputData($Data, 'L');


	if ($Validator->fails()) {
		print "Ошибка, авторизация не произведена.";
		$Errors = $Validator->messages()->toArray();

		return View::make('signupView')->with('Errors', $Errors);
		
	}
	
	else
		
	{
		if (Auth::attempt([
			'username' => $Data['Login'],
			'password' => $Data['Password']
		],true ) ) 
			$User = Auth::user();
			
		else
			$User = null;
		

		if ($User instanceof \Illuminate\Auth\UserInterface) {
			Auth::login($User, true);
			
			return Redirect::to('/');
		} 
		
		else {
			$Alert = 'Ошибка авторизации, проверьте правильность ввода данных.';
			return View::make('signupView')->with('Alert', $Alert);
		}
	}
} 

Не в сети

#2 14.01.2015 22:08:14

Re: Разлогинивание после каждого обновления страницы

Cookie ставятся? Названия полей для авторизации совпадают? В базе поле remember token есть? Конфиг менялся? Да много чего может быть...

Для начала пробуй сделать как тут https://scotch.io/tutorials/simple-and- … entication

public function doLogin()
{
// validate the info, create rules for the inputs
$rules = array(
    'email'    => 'required|email', // make sure the email is an actual email
    'password' => 'required|alphaNum|min:3' // password can only be alphanumeric and has to be greater than 3 characters
);

// run the validation rules on the inputs from the form
$validator = Validator::make(Input::all(), $rules);

// if the validator fails, redirect back to the form
if ($validator->fails()) {
    return Redirect::to('login')
        ->withErrors($validator) // send back all errors to the login form
        ->withInput(Input::except('password')); // send back the input (not the password) so that we can repopulate the form
} else {

    // create our user data for the authentication
    $userdata = array(
        'email'     => Input::get('email'),
        'password'  => Input::get('password')
    );

    // attempt to do the login
    if (Auth::attempt($userdata)) {

        // validation successful!
        // redirect them to the secure section or whatever
        // return Redirect::to('secure');
        // for now we'll just echo success (even though echoing in a controller is bad)
        echo 'SUCCESS!';

    } else {        

        // validation not successful, send back to form 
        return Redirect::to('login');

    }

}
}

Не в сети

Подвал раздела