jalallinux / laravel-shield
Laravel的HTTP基本认证中间件
1.2.4
2024-03-09 08:38 UTC
Requires
- php: ^8.0|^8.1|^8.2
- laravel/framework: ^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- pestphp/pest: ^1.20
- spatie/ray: ^1.28
README
一个为Laravel提供的HTTP基本认证中间件。
// Use on your routes. Route::get('/', ['middleware' => 'shield'], function () { // Your protected page. }); // Use it within your controller constructor. $this->middleware('shield'); // Use specific user credentials. $this->middleware('shield:jalallinux');
安装
使用Composer在项目的根目录下安装此包。
composer require jalallinux/laravel-shield
将中间件添加到Kernel.php
文件中的$routeMiddleware
数组。
'shield' => \JalalLinuX\Shield\ShieldMiddleware::class,
配置
Laravel Shield需要配置。要开始,你需要发布所有供应商资产
php artisan vendor:publish --provider JalalLinuX\\Shield\\ShieldServiceProvider
这将在你的应用中创建一个config/shield.php
文件,你可以修改它来设置你的配置。同时,请确保检查本包发布之间的原始配置文件变更。
HTTP基本认证凭证
用于HTTP基本认证登录的用户凭证。
用法
要使用Shield保护你的路由,可以将它添加到路由文件中。
Route::get('/', ['middleware' => 'shield'], function () { // Your protected page. });
你还可以将Shield中间件添加到控制器构造函数中。
$this->middleware('shield');
中间件接受一个可选参数,用于指定要比较的用户凭证。
$this->middleware('shield:jalallinux');
要添加新用户,你可能想使用散列凭证。散列凭证可以使用终端中的password_hash()
函数生成
php -r "echo password_hash('my-secret-passphrase', PASSWORD_DEFAULT);"
然后将散列凭证复制粘贴到.env
环境文件中。
SHIELD_USER=your-hashed-user SHIELD_PASSWORD=your-hashed-password