Я использую subfission / cas для моего заявления. Я выполнил все шаги установки . Я использую Windows, если это имеет значение. Точнее, я настроил следующее:
Я запустил следующее в моем терминале
composer require "subfission/cas" "dev-master"
Я настроил свой Kernel.php соответственно, добавив следующее:
'cas.auth' => 'Subfission\Cas\Middleware\CASAuth',
'cas.guest' => 'Subfission\Cas\Middleware\RedirectCASAuthenticated',
Я выполнил следующую команду:
php artisan vendor:publish
Я также настроил свой сервер cas в своем файле конфигурации cas.php:
'cas_hostname' => env('CAS_HOSTNAME', 'cas.myserver.me'),
'cas_real_hosts' => env('CAS_REAL_HOSTS', 'cas.myserver.me'),
Мне нужно промежуточное программное обеспечение для всех моих маршрутов, поэтому я добавил в свои маршруты следующее правило маршрута:
Route::middleware(['cas.auth'])->group(function ()
{
Route::get('/', function ()
{
return view('welcome');
});
});
По сути, я хочу перенаправлять всех, кто не вошел на страницу входа, всякий раз, когда я получаю доступ к главной странице (сейчас я добавлю больше маршрутов в будущем). Случается так, что пользователи перенаправляются на страницу входа, когда они не вошли в систему, но после входа я получаю следующую ошибку:
ErrorException (E_WARNING)
DOMDocument :: loadXML (): Несоответствие открывающего и завершающего тега: hr, строка 1 и тело в Entity, строка: 1
Независимо от того, на какой вид я перенаправляю пользователя. Я пробовал страницу приветствия по умолчанию, а также пустое представление, но все равно получаю ту же ошибку.
РЕДАКТИРОВАТЬ: я использовал ветку dev-master из subfission / cas для вышеуказанной ошибки, и после перехода на 2.1.1 я получаю другую ошибку:
session_name (): невозможно изменить имя сеанса, когда заголовки уже отправлены
РЕДАКТИРОВАТЬ 2: Я сделал еще несколько копаний и включил внутренние ошибки в моем классе клиента клиента с:
libxml_use_internal_errors(true);
И теперь я получаю следующее:
Authentication failure: SA not validated Reason: bad response from the CAS server
И ответ cas:
Дело в том, что я использую один и тот же сервер cas для двух других проектов, и он хорошо работает для них (но это не проекты Laravel.