Вроде все делаю как следует, но есть косяк с авторизацией.
Итак, модель User:
class User extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
protected $primaryKey = 'id';
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password', 'remember_token');
protected $fillable = array('username', 'email', 'telephone');
public static $rules = array(
'username' => 'required|min:2|alpha',
'email' => 'required|email|unique:users',
'telephone' => 'required|between:10,12',
'password' => 'required|alpha_num|between:8,12|confirmed',
'password_confirmation' => 'required|alpha_num|between:8,12'
);
}
Метод контроллера:
public function postSignin()
{
if(Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password')), true)) {
return Redirect::to('/')->with('message', 'Добро пожаловать и знакомиться!)');
}
return Redirect::to('auth/signin')->with('message', 'Ошибочка вышла! Попробуйте еще раз ;)');
}
Проверка:
@if( Auth::check() )
Здравствуйте, {{ Auth::user()->username }} !<br/>
{{ HTML::link('auth/signout', 'Выход') }}
@else
{{ HTML::link('auth/signin', 'Вход') }} | {{ link_to('auth/signup', 'Регистрация') }}
@endif
И еще сообщения:
@if(Session::has('message'))
<p class="alert">{{ Session::get('message') }}</p>
@endif
В результате после успешной попытки авторизации и перенаправления на главную страницу выводит
{{ HTML::link('auth/signin', 'Вход') }} | {{ link_to('auth/signup', 'Регистрация') }}
и не выводит сообщения Session. В чем может быть дело?
UPD: При редиректе на несколько секунд выводит пустую страницу "I redirecting to..." и сессия обрывается. Кто сталкивался с этой проблемой, прошу откликнуться
UPD2: Проблему решил, просто переписав весь код.