Проверка пользователя CAS во внутренней базе данных с помощью Laravel - PullRequest
0 голосов
/ 01 февраля 2019

Я пишу приложение Laravel (5.7 с платформой dev-master) для внутреннего использования в своей школе и использую их сервер CAS для аутентификации, но я хочу проверить, зарегистрирован ли пользователь в моей собственной базе данных.,

Я уже реализовал вход в CAS с помощью https://github.com/subfission/cas.

Я не знаю, должен ли я интегрировать CAS с "родной" аутентификацией Laravel (и я даже не знаю, как это сделать) или напишите промежуточное программное обеспечение или что-то в этом роде (тоже не знаю, как это сделать: P).

ps: английский не является моим родным языком, так что будьте осторожны с любыми ошибками написания, пожалуйста,

1 Ответ

0 голосов
/ 01 февраля 2019

Хорошо, только что проверил их вики и блин!Это тихо просто;после установки пакета вам нужно добавить два новых промежуточных программного обеспечения в ваше app/Http/Kernel.php в конце свойства $routeMiddlewares:

protected $routeMiddleware = [
         //snap
        'cas.auth'  => \Subfission\Cas\Middleware\CASAuth::class,
        'cas.guest' => \Subfission\Cas\Middleware\RedirectCASAuthenticated::class,
    ];

Хорошо, теперь запустите php artisan vendor:publish --provider=Subfission\Cas\CasServiceProvider, поэтому будет добавлен cas.php файл конфигурациив папку config.откройте его и введите конфигурацию CAS вашей школы.

Очень хорошо, теперь все, что вам нужно сделать, это использовать cas.auth промежуточное ПО, когда вам нужна CAS-аутентификация:

//web.php
Route::get('user/profile','UserController@profile')->middleware('cas.auth');

это промежуточное ПО просто проверяетесли текущий пользователь вошел в систему на сервере CAS (продолжает работу с контроллером) или пользователь не вошел в систему на сервере CAS (перенаправление на страницу входа на сервер CAS и повторное перенаправление при успешной аутентификации).

Удачи.

...