xavrsl / cas
为 Laravel 4 和 5 添加 CAS 服务器单点登录认证
Requires
- php: >=5.3.0
- illuminate/support: 4.*|5.*
- jasig/phpcas: 1.3.*
This package is auto-updated.
Last update: 2024-09-06 08:43:49 UTC
README
Laravel 4.x & 5.x 中的 CAS 服务器单点登录认证
安装
在您的 composer.json 中添加此包并运行 composer update。
对于 Laravel 4,使用 v1.1.*
"xavrsl/cas": "1.1.*"
对于 Laravel 5,使用 v1.2.*
"xavrsl/cas": "1.2.*"
更新 composer 后,将 ServiceProvider 添加到 providers 数组中
对于 Laravel 4
app/config/app.php
'Xavrsl\Cas\CasServiceProvider',
以及 Facade
'Cas' => 'Xavrsl\Cas\Facades\Cas',
对于 Laravel 5
config/app.php
Xavrsl\Cas\CasServiceProvider::class,
以及 Facade
'Cas' => Xavrsl\Cas\Facades\Cas::class,
然后使用以下方法之一发布包的配置
对于 Laravel 4
$ php artisan config:publish xavrsl/cas
对于 Laravel 5
$ php artisan vendor:publish
配置
对于任何使用过 phpCAS 客户端的用户,配置应该是相当直接的。使用 .env 文件将允许您在不接触 cas.php 配置文件的情况下拥有不同的环境。我已经添加了将您的应用程序轻松转换为 CAS 代理、CAS 服务或两者的可能性。您只需将 cas_proxy 设置为 true(如果您需要代理服务),并将 cas_service 设置为您想要允许的代理(所有这些都在配置文件中有详细说明)。
1.2 版本中新增了一个可用的配置变量(cas_pretend_user),允许您假装成为选定的 CAS 用户。这个想法源于对 laravel homestead 的使用。我的应用程序在私有网络上运行,在伪造的域名上。CAS 服务器无法重定向到该应用程序。因此,在那个应用程序上激活 CAS 插件是不可能的,但我需要一个用户 ID 来查询我的 LDAP 并允许/禁止该用户在我的应用程序中。您只需提供用户 ID,应用程序就会像使用该 CAS 用户登录一样操作。
使用
针对 CAS 服务器进行认证。这应该在尝试检索 CAS 用户 ID 之前调用。
Cas::authenticate();
然后这样获取当前用户 ID
Cas::getCurrentUser();
或者
Cas::user();