area17/twill-http-basic-auth

一个Twill Capsule,用于添加和处理HTTP基本认证

v2.0.2 2024-01-31 14:02 UTC

This package is auto-updated.

Last update: 2024-08-31 12:51:46 UTC


README

此Twill Capsule旨在使开发者能够配置他们应用程序的基本认证。

screenshot 1

screenshot 2

域名

您可以添加所需的任何域名,并为每个域名配置不同的密码。例如,您可以设置https://site.com不受保护,允许公众访问,并阻止访问https://origin.site.comhttps://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)中启用账户以访问受保护的网站,这成为了一个额外的安全功能。它还允许您避免向所有有权查看网站的人披露相同的用户名和密码。

贡献

请通过提交拉取请求为此项目做出贡献。