code16 / privat
Laravel 的简单私有访问包。
v3.10.0
2024-03-07 14:02 UTC
Requires
- php: ^8.1|^8.2|^8.3
- laravel/framework: ^9.0|^10.0|^11.0
Requires (Dev)
- doctrine/dbal: ^3.0
- fakerphp/faker: ^1.19.0
- mockery/mockery: ^1.0
- orchestra/testbench: 7.*|8.*|9.*
- phpunit/phpunit: ~9.0|~10.0
README
Privat 是一个非常简单的 Laravel 项目的密码保护工具。它对处于测试阶段网站很有用。
使用方法
使用 composer 安装
composer require code16/privat
在您的项目中添加 Privat 中间件
在您的项目配置中添加以下中间件。
\Code16\Privat\PrivatMiddleware::class
通常,您可以在 app/Http/Kernel
中的 $middlewareGroups
数组(在 'web'
键的末尾)添加它。
设置 Privat 配置
首先创建 privat 配置文件
php artisan vendor:publish --provider="Code16\Privat\PrivatServiceProvider"
然后编辑新的 /config/privat.php
(没有太多花哨的东西);您可以使用以下键在 .env
文件中处理它
- PRIVAT_RESTRICTED=true
- PRIVAT_PASSWORD=mypassword
异常
配置参数 except
的构建方式如下
"except" => [ "hosts" => env("PRIVAT_EXCEPTED_HOSTS", ""), "urls" => env("PRIVAT_EXCEPTED_URLS", "") ]
urls
配置键旨在包含一个逗号分隔的 URL 列表,这些 URL 会被 Privat 排除;例如 "/login,/admin"
。
hosts
配置键与此相同,但用于主机(适用于多主机网站)。
等待页面
如果您需要展示公共等待页面,可以这样做:在 config/privat.php
中的 waiting_view
配置键(在 config/privat.php
)中设置等待页面视图名称
"waiting_view" => "demo.waiting"
从那时起,所有未进行 Privat 注册的请求将被重定向到 /privat_waiting
,该请求将渲染配置的视图,除了 /privat
,它仍然会显示 Privat 表单。
它是如何工作的
相当简单:如果提供的密码正确,Privat 会设置一个会话属性,并在每个请求中查找它。因此,很明显,Privat 在非会话系统中(例如 API)不会工作。
许可
MIT