xavrsl/cas

为 Laravel 4 和 5 添加 CAS 服务器单点登录认证

v1.2.6 2017-01-31 08:21 UTC

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();