liyunde/laravel5-multi-cas
为 Laravel 5 的多 CAS 服务器 SSO 认证
Requires
- php: >=5.5
- illuminate/support: 5.*
- jasig/phpcas: ^1.3
This package is auto-updated.
Last update: 2024-08-30 01:28:50 UTC
README
[![Packagist 上的最新版本][ico-version]][link-packagist] ![软件许可][ico-license] [![构建状态][ico-travis]][link-travis] [![总下载量][ico-downloads]][link-downloads]
Laravel 5.x 中的多 CAS 服务器 SSO 认证
此版本基于 xavrsl/cas v1.2.5,与原始版本兼容,感谢原作者。
此版本仅用于同一项目中多个不同域的 CAS 服务器
安装
在 composer.json 中添加此包并运行 composer update。
对于 Laravel 5
composer require liyunde/laravel5-multi-cas
更新 composer 后,将 ServiceProvider 添加到 providers 数组中
对于 Laravel 5
config/app.php
MultiCas\CasServiceProvider::class,
以及 Facade
'Cas' => MultiCas\Facades\Cas::class,
然后使用以下方法之一发布包的配置
对于 Laravel 5
$ php artisan vendor:publish
配置
对于任何使用过 phpCAS 客户端的用户,配置应该是相当直观的。使用 .env 文件将允许您在不触摸 cas.php 配置文件的情况下拥有不同的环境。我已经添加了将您的应用程序轻松转换为 CAS 代理、CAS 服务或两者的可能性。您只需要将 cas_proxy 设置为 true(如果您需要代理服务),并将 cas_service 设置为您想要允许的代理(所有这些都在配置文件中解释)。
发布中新增了一个新的配置变量(cas_pretend_user),允许您假装是选定的 CAS 用户。这个想法来自对 laravel homestead 的使用。我的应用程序在私有网络、伪造域名上运行。CAS 服务器无法重定向到该应用程序。因此,在该应用程序上激活 CAS 插件是不可能的,但需要用户 ID 来查询我的 LDAP 并允许/拒绝该用户在我的应用程序中。您只需要提供用户 ID,应用程序就会像使用该 CAS 用户登录一样行事。
使用方法
对 CAS 服务器进行身份验证。这应该在尝试检索 CAS 用户 ID 之前调用。
Cas::authenticate(); OR Cas::default()->authenticate();
然后通过这种方式获取当前用户 ID
Cas::getCurrentUser(); OR Cas::user(); Cas::default()->user();