Laravel auth иногда возвращает неправильного пользователя - PullRequest
0 голосов
/ 18 мая 2018

У меня проблема с приложением laravel, для меня это похоже на кошмар ? Я перепробовал все, что знаю, чтобы решить ее, но, к сожалению, мне не хватило удачи для этого, поэтому я разместил этот вопрос для васребята, чтобы помочь мне через это, проблема заключается в том, что система аутентификации иногда возвращает неправильного пользователя в качестве текущего пользователя ... Я имею в виду, иногда, когда я работаю в области администратора и, когда я отправляю форму или обновляю страницу, приложение показываетнеправильный пользователь аутентификации (не тот, с кем я вошел) ... и иногда он полностью выходит из системы.Я не знаю, с чем это связано, я перепробовал много теорий, но это не сработало.

Есть идеи, как решить эту проблему?

Обновление:

Мой ростверсия 5.6.1, и я развернул приложение на сидячих серверах.

Я использую сеанс на основе файлов, и я использую несколько аутентификаций, один для обычных пользователей, а другой для администратора, я также пыталсяразделите таблицу пользователей на две таблицы с ограничениями, одну для обычных пользователей, а другую для администратора, однако это не решило проблему.

Я зарегистрировал множественную аутентификацию как следующую

Config/auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],
    'admin' => [
        'driver' => 'session',
        'provider' => 'admin',
    ],
],
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],
    'admin' => [
        'driver' => 'eloquent',
        'model' => App\Admin::class,
    ],
],

Веб-маршрут файла маршрута:

Route::group(['middleware' => [ 'auth:admin']], function()
{     

}

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

вы можете создать собственное промежуточное программное обеспечение для этого:

вот функция:

     $USER = Session::get('USER');
     $ADMIN = Session::get('ADMIN');
     if($ADMIN || $USER) {
        return $next($request);
     }
0 голосов
/ 18 мая 2018

в первую очередь создайте два промежуточных ПО: Admin и User

Файл маршрута: веб-маршрут

Route::group(array('middleware' => ['User']), function () 
{ 


}); 

Route::group(array('middleware' => ['Admin','User']), function () 
{ 


});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...