Я пишу приложение Laravel (5.7 с платформой dev-master) для внутреннего пользования в своей школе и использую их сервер CAS для аутентификации, но я хочу проверить, зарегистрирован ли пользователь в моей собственной базе данных.
Я уже ввел CAS логин с https://github.com/subfission/cas.
Я не знаю, стоит ли мне интегрировать CAS с «родной» аутентификацией Laravel (и я даже не знаю, как это сделать) или написать промежуточное ПО или что-то в этом роде (тоже не знаю, как это сделать: P ).
ps: английский не мой родной язык, так что будьте спокойны с любыми ошибками написания, пожалуйста
Хорошо, только что проверил их вики и блин! Это тихо просто; после установки пакета вам нужно добавить два новых промежуточных ПО в ваш 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). & перенаправление обратно при успешной аутентификации).
Удачи.
Других решений пока нет …