area17 / twill-http-basic-auth
一个Twill Capsule,用于添加和处理HTTP基本认证
v2.0.2
2024-01-31 14:02 UTC
Requires
- php: >=8.0
- area17/http-basic-auth: 1.x-dev
- area17/twill: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- laravel/dusk: ^7.12
- nunomaduro/larastan: ^2.0
- orchestra/testbench: ^7.11
- phpstan/phpstan: ^1.8
README
此Twill Capsule旨在使开发者能够配置他们应用程序的基本认证。
域名
您可以添加所需的任何域名,并为每个域名配置不同的密码。例如,您可以设置https://site.com不受保护,允许公众访问,并阻止访问https://origin.site.com和https://admin.site.com,仅允许拥有账户的人以及那些拥有HTTP基本认证用户名和密码的人访问。
统一配置
一旦启用所有域名 (*)
条目,相同的配置将用于所有可用域名,并隐藏所有其他域名配置。
中间件
自动向所有web
路由添加中间件,但您可以配置此行为或禁用它来自定义配置中间件
'middleware' => [ 'automatic' => true, 'groups' => ['web'], 'class' => \A17\TwillHttpBasicAuth\Http\Middleware::class, ],
使用认证
如果您不希望将单个用户名和密码与所有将访问您页面的人共享,您可以将包配置为允许现有的Twill(CMS)和/或Laravel(前端)用户使用自己的密码通过基本认证。
安装
支持版本
Composer将自动为您管理此内容,但这些是Twill和此包之间的支持版本。
要求Composer包
composer require area17/twill-http-basic-auth
发布配置
php artisan vendor:publish --provider="A17\TwillHttpBasicAuth\ServiceProvider"
通过在AppServiceProvider中调用加载器来加载Capsule助手
/** * Register any application services. * * @return void */ public function register() { \A17\TwillHttpBasicAuth\Services\Helpers::load(); }
通过.env
文件配置
默认情况下,此包已被禁用,因此您必须在.env文件中启用它
TWILL_HTTP_BASIC_AUTH_ENABLED=true
您可以通过CMS设置或在.env
文件中配置凭证。如果在.env
中设置,则*
域名将被启用,所有其他域名将被隐藏,用户名和密码将由.env
键覆盖。
TWILL_HTTP_BASIC_AUTH_USERNAME=frontend TWILL_HTTP_BASIC_AUTH_PASSWORD=secret
数据库登录
您可以通过在.env
文件中启用功能来配置包,允许用户使用现有的电子邮件和密码通过HTTP基本认证。
TWILL_HTTP_BASIC_AUTH_TWILL_DATABASE_LOGIN_ENABLED=true TWILL_HTTP_BASIC_AUTH_LARAVEL_DATABASE_LOGIN_ENABLED=true
速率限制
默认情况下,此包还将限制每个域每分钟的请求最大次数为500次。您可以使用此.env
变量进行配置。
TWILL_HTTP_BASIC_AUTH_RATE_LIMITING_ATTEMPTS=5
通过要求用户在Twill(或Laravel)中启用账户以访问受保护的网站,这成为了一个额外的安全功能。它还允许您避免向所有有权查看网站的人披露相同的用户名和密码。
贡献
请通过提交拉取请求为此项目做出贡献。