Download the PHP package wangyongdong/laravelcas without Composer
On this page you can find all versions of the php package wangyongdong/laravelcas. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravelcas
laravel-cas
Laravel Cas Client 服务是基于 phpCas 基础上进行封装
支持
laravel5.5+
laravel6.x
laravel7.x
laravel8.x
版本说明
- 当前版本稳定版本为 laravel-cas 1.0.4
1.0.3
更新同步退出的问题1.0.4
更新 debug 日志打印功能- 此版本改动较大,需更新老版本代码
1.0.5
更改 auth 后回跳附带端口的问题
安装
编辑 Composer.json
执行安装
composer install
或composer require "wangyongdong/laravelcas:1.0.4"
配置 provider
和 aliases
NOTE : 该软件包支持Laravel 5.5的自动发现功能,因此,如果您使用的是Laravel 5.5,则可以跳过本节。
1. 配置 provider
'providers' => [ Wangyongdong\LaravelCas\CasServiceProvider::class ],
2. 配置 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
对其进行配置。
Laravel 必须配置项
- 若同步退出时 CAS 服务器请求地址为根目录则需要做如下修改:
- 路由修改支持post,示例:
Route::any('/', 'HomeController@index')->name('home.index');
-
http 419问题,参考链接
- 在
app\Http\Kernel.php
中,注释VerifyCsrfToken
中间件 - 添加白名单,
app\Http\Middleware\VerifyCsrfToken.php
文件中
- 在
- 具体目录根据请求地址来调整
支持方法
- 验证是否登录
LaravelCas::checkAuthentication()
- 强制执行登录
LaravelCas::forceAuthentication()
- 获取登录地址
LaravelCas::login_url()
- 获取退出地址
LaravelCas::logout_url()
- 执行退出
LaravelCas::logout($service = '')
- 获取当前登录用户id
LaravelCas::user()
- Laravel项目获取登陆用户id:
$request->userid
or$request->session()->get('userid')
Updates
- 支持
laravel6.x
laravel7.x
laravel8.x
- 更新版本 phpCAS 1.3.9,解决
phpCAS error: phpCAS::client(): ErrorException: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
问题 - 兼容
composer2.0
,优化命名空间 - 支持重定向注销登陆
- 添加支持中间件的使用
- 更新包 phpCAS,兼容
http
和https
的判断 - 支持配置文件,对
phpCAS
客户端进行配置
问题
-
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE)
- 报错版本:
laravel5.5
php7.0.9
- 问题原因:包
symfony/translation
使用php7.1
新增特性 可为空(Nullable)类型 导致报错 - 解决办法:升级
laravel
版本,或升级php
版本
- 报错版本:
-
Declaration of Illuminate\Container\Container::get($id) must be compatible with Psr\Container\ContainerInterface::get(string $id) in
- 报错版本:
laravel5.6
php7.1.9
laravel5.7
php7.1.9
laravel5.8
php7.1.9
- 问题原因:因
laravel5.6+
版本中引用的扩展包里,使用了php7.2
新特性 [参数类型声明](),导致报错 - 解决办法:
-
- 升级到
php7.2+
- 升级到
-
- 修改
Illuminate\Container\Container
592行,161行。改为public function get(string $id)
,public function has(string $id)
- 修改
- laravel 不能同步退出问题
Links
All versions of laravelcas with dependencies
illuminate/support Version 5.*|6.*|7.*|8.*
wangyongdong/phpcas Version dev-master