shsharkar / laravel-6-multi-auth
Laravel 6 多认证
Requires
- php: >= 7.2.0
This package is auto-updated.
Last update: 2024-09-28 02:40:57 UTC
README
php artisan l6ma:install {guard} -fphp artisan l6ma:install {guard} -f --domainphp artisan l6ma:install {guard} {service} -f --lucid
它做什么?
这是一个简单的包,用于在您的 Laravel 6 项目中创建多认证功能。通过运行一些简单的命令,您可以设置 Laravel 项目的多认证。此包安装
- 模型
- 迁移
- 控制器
- 通知
- 路由
- routes/web.php
- {guard}/login
- {guard}/register
- {guard}/logout
- 密码重置路由
- {guard}/password/reset
- {guard}/password/email
- routes/{guard}.php
- {guard}/home
- routes/web.php
- 中间件
- 视图
- 守卫
- 提供者
- 密码经纪人
- 设置
用法
步骤 1:通过 Composer 安装
composer require shsharkar/laravel-6-multi-auth
步骤 2:在您的项目中安装 Multi Auth
php artisan l6ma:install {singular_lowercase_name_of_guard} -f
// Examples
php artisan l6ma:install admin -f
php artisan l6ma:install employee -f
php artisan l6ma:install customer -f
注意:如果您不提供 -f 标志,它将不起作用。这是防止意外激活的保护措施。
替代方案
如果您想在子域中安装 Multi-Auth 文件,必须传递 --domain 选项。
php artisan l6ma:install admin -f --domain
php artisan l6ma:install employee -f --domain
php artisan l6ma:install customer -f --domain
为了能够正确使用此功能,您应该在 .env 文件中添加一个密钥
APP_DOMAIN=yourdomain.com
这将允许我们在路由文件中使用它,并在 Laravel 路由系统中的域功能前为其添加前缀。
使用方式: ['domain' => '{guard}.' . env('APP_DOMAIN')]}
步骤 3:迁移新的模型表
php artisan migrate
步骤 4:尝试一下
访问: http://project_url/GuardName/login
示例: http://myproject.dev/customer/login
选项
如果您不想使用模型和迁移,请使用 --model 标志。
php artisan l6ma:install admin -f --model
如果您不想使用视图,请使用 --views 标志。
php artisan l6ma:install admin -f --views
如果您不想在您的 routes/web.php 文件中使用路由,请使用 --routes 标志。
php artisan l6ma:install admin -f --routes
注意
如果您想更改 guard 注销后的重定向路径,请在您的 {GuardName}\Auth\LoginController 中添加并覆盖以下方法
/** * Get the path that we should redirect once logged out. * Adaptable to user needs. * * @return string */ public function logoutToPath() { return '/'; }
此包更改和添加的文件
-
config/auth.php
- 添加守卫、提供者和密码
-
app/Http/Providers/RouteServiceProvider.php
- 注册路由
-
app/Http/Kernel.php
- 注册中间件
-
app/Http/Middleware/
- 每个守卫的中间件
-
app/Http/Controllers/{Guard}/Auth/
- 新控制器
-
app/Models/{Guard}.php
- 新模型
-
app/Notifications/{Guard}/ResetPassword.php
- 重置密码通知
-
database/migrations/
- 新模型的迁移
-
routes/web.php
- 注册路由
-
routes/{guard}.php
- 给定守卫的路由文件
-
resources/views/{guard}/
- 给定守卫的视图
注意:在安装新版本的包后,请勿再次使用相同守卫的配置。因此,如果您已安装 admin 守卫,在更新包到最新版本后不要再次安装它。
特别感谢 Piotr Łosiak (Hesto)