jyj1993126 / cas
为Laravel 4和5添加CAS服务器SSO认证
Requires
- php: >=5.3.0
- illuminate/support: 4.*|5.*
- jasig/phpcas: 1.3.*
This package is not auto-updated.
Last update: 2024-09-23 12:50:54 UTC
README
Laravel 4.x & 5.x中的CAS服务器SSO认证
安装
在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',
以及外观
'Cas' => 'Xavrsl\Cas\Facades\Cas',
对于Laravel 5
config/app.php
Xavrsl\Cas\CasServiceProvider::class,
以及外观
'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();