teuz / laravel-cas
适用于Laravel 4的CAS认证包。
Requires
- php: >=5.3.0
- anlutro/curl: 0.5.0
- illuminate/support: 4.1.*
This package is not auto-updated.
Last update: 2024-09-28 14:22:40 UTC
README
teuz/laravel-cas是Laravel 4的CAS认证包。
请注意,此包处于早期开发阶段,测试并不充分!
安装
将teuz/laravel-cas的要求添加到您的composer.json文件中
"require": { "laravel/framework": "4.1.*", "teuz/laravel-cas": "dev-master" },
使用终端更新composer
composer update
将服务提供者添加到app/config/app.php中: (注意以下两个服务提供者都是必需的)
'Teuz\LaravelCas\LaravelCasServiceProvider', '\anlutro\cURL\Laravel\cURLServiceProvider',
(推荐) 将别名添加到app/config/app.php
'Cas' => 'Teuz\LaravelCas\Facades\Cas'
使用终端发布包配置
php artisan config:publish teuz/laravel-cas
配置
配置文件位于app/config/packages/teuz/laravel-cas/config.php。
有四个参数需要配置
- url - CAS服务器的url(例如:“https://hostname.com/cas”)
- service - 发送到CAS服务器的服务url。这应该指向一个执行Cas::check()的路由。
- userField - CAS服务器和用户对象之间共享的用户标识键名称。(例如:“username”)
- createUsers - 是否创建用户。如果为false,即使数据库中缺少用户且通过CAS服务器正确验证,他们也不会登录。
用法
有四个重要的函数:login、check、reload和logout。
登录
当您希望用户重定向到CAS登录页面时,应调用登录函数。一种方法是在auth回调中添加此调用
在app/filters.php中
Route::filter('auth', function() { if (Auth::guest()) { return Cas::login(); } });
每次将此过滤器添加到路由时,未登录的用户将被重定向到CAS登录页面。
检查和重载
检查函数用于验证CAS票据。应添加一个调用此函数的路由
Route::get('/user/cas', function() { if(Cas::check()) return Cas::reload(); });
注意,此路径应等于配置参数service。当用户在CAS服务器提交登录表单时,用户将被重定向到此路由并带有票据。然后我们必须验证票据,如果成功,则使用reload函数将用户重定向到目标页面。
登出
用于登出用户的函数
Route::get('/user/logout', function() { if(Auth::guest() === false) { return Cas::logout(); } else { return Redirect::to('/'); } });
许可协议
版权所有 2014 Teuz
根据Apache License 2.0(“许可证”)许可;除非符合许可证规定,否则不得使用此文件。您可以在以下位置获得许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言、权限和限制,请参阅许可证。