liyunde/laravel5-multi-cas

为 Laravel 5 的多 CAS 服务器 SSO 认证

v1.2.0 2016-12-12 02:38 UTC

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