Я использую субдомен в моем проекте laravel 5, но когда я пытаюсь выполнить логин пользователя, он больше не будет аутентифицироваться. Это мой config\session.php
Laravel 5 аутентификация в субдомене не работает
return [
'driver' => env('SESSION_DRIVER', 'database'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => true,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'laravel_session',
'path' => '/',
'domain' => '.stagedevelopment.dev',
'secure' => false,
'http_only' => true,
];
мой routes.php
Route::group([ 'prefix' => 'app', 'middleware' => 'auth' ], function() {
... some codes ....
Route::group(['domain' => '{account_alias}.'.stagedevelopment.dev'], function() {
Route::get('dashboard', '[email protected]');
это на '[email protected]
' на DashController.php
public function index(Request $request, $account_alias = null){
if (Auth::user()){
// CODES TO CALL THE VIEW
}
}
, но при входе в это не будет перенаправлять на него. это делает меня проблемой. Я также проверяю var_dump(Auth::user())
, но он возвращает значение null
, но я попробовал var_dump($request->session()->get('uid'))
, он возвращает user_id
пользователя, который пытается аутентифицироваться.
мой вопрос: я что-то пропустил? Я просто хочу, чтобы пользователь был аутентифицирован в Auth::user()
. Пожалуйста, помогите мне с этим. любая помощь будет оценена. заранее спасибо.
, кстати, это мой код Логгина пользователя
public function postSignIn(Request $request) {
$rules = array(
'email' => 'required|email',
'password' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->passes()){
$remember = (!is_null($request->get('remember')) ? true : false);
if (Auth::attempt(array('email' => $request->input('email'), 'password' => $request->input('password')))){
if (Auth::check()){
$account = \App\Account::where('alias', 'LIKE', Auth::user()->account->alias)->get();
if($account->count() > 0){
return Redirect::to('http://'. Auth::user()->account->alias.'.stagedevelopment.dev/app/dashboard');
}
}
}
}
}
Я хотел бы начать с проверки домена cookie. Похоже, вы используете синтаксис [RFC 2109] (http://tools.ietf.org/html/rfc2109), но современные браузеры предпочтут [RFC 6265] (http://tools.ietf.org/html/rfc6265) и игнорировать ведущую точку. Поэтому попробуйте ''domain' => 'stagedevelopment.dev''. – bishop
Привет, епископ, спасибо за ответ. Я поставил точку в домене для поддомена. У меня появилась идея из этого http://stackoverflow.com/questions/30338518/persisting-sessions-across-subdomains-in-laravel-5 – gadss