尝试使用我的Laravel项目设置CAS

问题描述 投票:0回答:1

我正在使用subfission/cas作为我的申请。我跟着所有的installation steps。我正在使用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.php配置文件中设置了我的cas服务器:

'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和实体中的主体,行:1

无论我将用户重定向到哪个视图。我尝试了默认的欢迎页面以及一个空视图,但我仍然得到同样的错误。

编辑:我已经使用subfission / cas的dev-master分支出现上述错误,切换到2.1.1后,我得到了一个不同的错误:

session_name():标头已发送时无法更改会话名称

编辑2:我做了一些挖掘,并在我的cas客户端类中启用了内部错误:

libxml_use_internal_errors(true);

现在我得到以下内容:

Authentication failure: SA not validated Reason: bad response from the CAS server

并且cas响应是:Cas error事情是我为另外2个项目使用相同的cas服务器并且它适用于那些(但那些不是laravel项目。

laravel laravel-5 cas
1个回答
1
投票

我设法通过在cas配置文件中禁用SAML来解决问题:

'cas_enable_saml'     => env('CAS_ENABLE_SAML', true),

改成

cas_enable_saml'     => env('CAS_ENABLE_SAML', false),
© www.soinside.com 2019 - 2024. All rights reserved.