Как изменить аутентификацию в SleepingOwl4?

В старой версии я менял ее так:
файл config/admin.php
'auth'                    => [
		'model' => '\SleepingOwl\AdminAuth\Entities\Administrator',
		'rules' => [
			'username' => 'required',
			'password' => 'required',
		]
	],

на
'auth'                    => [
		'model' => \App\User::class,
		'rules' => [
			'email' => 'required',
			'password' => 'required',
		]
	],

'middleware' => ['admin.auth'],
на
'middleware' => ['isadmin'],
предварительно прописав в middleware
if (Sentinel::guest()) return redirect('/');
if(Sentinel::inRole('user')) return $next($request);
return Redirect::back();

и это работало, а сейчас настройки берутся из config/auth.php
'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],

И теперь не работает (при попытке перейти в админку возвращает на главную)
  • Вопрос задан
  • 317 просмотров
Решения вопроса 1
butschster
@butschster
Senior PHP Developer
Привет, ну собственно это уже не проблемы админки, а больше проблемы Laravel, я бы даже сказал не проблемы, а изменения.

В документации описан процесс изменения алгоритма авторизации:



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

'defaults' => [
     'guard'     => 'sentinel', // Используемый по умолчанию
      ....
],
...
'guards' => [
     ...
     'sentinel' => [
          'driver'   => 'session',
          'provider' => 'sentinel',
     ],
],
...
'providers' => [
     'sentinel'  => [
          'driver' => 'sentinel',
          'model' => App\User::class,
          'options' => [
                ....
          ],
     ],
],


Auth::extend('sentinel', function($app, $name, array $config) {
      ...
});


Т.е. мы создаем свой провайдер для авторизации, делаем его гардом по умолчанию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы