wangyongdong/laravelcas is a Laravel package for this is a laravel phpcas extension.
It currently has 0 GitHub stars and 6 downloads on Packagist (latest version 1.0.5).
Install it with composer require wangyongdong/laravelcas.
Discover more Laravel packages by wangyongdong
or browse all Laravel packages to compare alternatives.
Last updated
Laravel Cas Client 服务是基于 phpCas 基础上进行封装
laravel5.5+laravel6.xlaravel7.xlaravel8.x1.0.3 更新同步退出的问题1.0.4 更新 debug 日志打印功能1.0.5 更改 auth 后回跳附带端口的问题Composer.json{
"repositories": {
"wangyongdong/phpcas": {
"type": "git",
"url": "https://github.com/wangyongdong/phpCAS.git"
},
"wangyongdong/laravelcas": {
"type": "git",
"url": "https://github.com/wangyongdong/laravelCas.git"
}
},
"require": {
"wangyongdong/laravelcas": "^3.0"
},
"config": {
"secure-http": false
}
}
composer install 或 composer require "wangyongdong/laravelcas:1.0.4"provider 和 aliasesNOTE : 该软件包支持Laravel 5.5的自动发现功能,因此,如果您使用的是Laravel 5.5,则可以跳过本节。
provider 'providers' => [ Wangyongdong\LaravelCas\CasServiceProvider::class ],
aliases'aliases' => [ ... 'Laravelcas' => Wangyongdong\LaravelCas\Facades\Cas::class, ],
php artisan vendor:publish --provider="Wangyongdong\LaravelCas\CasServiceProvider"
发布完成后,将自动生成一个名为 config/cas.php 的配置文件。
一般来说,仅需配置一下几项即可
配置 laravel 项目根目录下 .env文件,修改 APP_URL 的值
CAS_HOST: CAS服务端主域名
CAS_CONTENT: CAS服务路径名称
CAS_PORT: CAS服务端口
CAS_LOGOUT_URL: CAS服务退出url地址
CAS_REAL_HOSTS: 同 CAS_HOST
更多配置项在文件 config/cas.php 中查看
如果要将CAS服务用作身份验证的中间件,则可以在 app/Http/Kernel.php中的 $routeMiddleware 对其进行配置。
'LaravelCasMiddleware' => \Wangyongdong\LaravelCas\Middleware\CASAuth::class,
Route::group(['middleware' => ['LaravelCasMiddleware']], function () {
Route::get('/login/auth', function (Illuminate\Http\Request $request) {
$user = $request->userid;
dd($user);
});
});
Route::any('/', 'HomeController@index')->name('home.index');app\Http\Kernel.php 中,注释 VerifyCsrfToken 中间件app\Http\Middleware\VerifyCsrfToken.php 文件中protected $except = [
'/'
];
LaravelCas::checkAuthentication()LaravelCas::forceAuthentication()LaravelCas::login_url()LaravelCas::logout_url()LaravelCas::logout($service = '')LaravelCas::user()$request->userid or $request->session()->get('userid')laravel6.x laravel7.x laravel8.xphpCAS error: phpCAS::client(): ErrorException: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? 问题composer2.0,优化命名空间http 和 https的判断phpCAS 客户端进行配置Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE)laravel5.5 php7.0.9symfony/translation 使用 php7.1 新增特性 可为空(Nullable)类型 导致报错laravel 版本,或升级 php 版本Declaration of Illuminate\Container\Container::get($id) must be compatible with Psr\Container\ContainerInterface::get(string $id) inlaravel5.6 php7.1.9laravel5.7 php7.1.9laravel5.8 php7.1.9laravel5.6+ 版本中引用的扩展包里,使用了 php7.2 新特性 参数类型声明,导致报错php7.2+Illuminate\Container\Container 592行,161行。改为 public function get(string $id),public function has(string $id)