alaminfirdows / laravel-multi-auth
为 Laravel 项目提供多认证功能的包。
Requires
- php: >=7.2.0
This package is auto-updated.
Last update: 2024-09-27 05:34:26 UTC
README
php artisan laravel-multi-auth:install {guard} -f
php artisan laravel-multi-auth:install {guard} -f --domain
php artisan laravel-multi-auth: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 alaminfirdows/laravel-multi-auth
步骤 2: 在您的项目中安装 Multi Auth
php artisan laravel-multi-auth:install {singular_lowercase_name_of_guard} -f
// Examples
php artisan laravel-multi-auth:install admin -f
php artisan laravel-multi-auth:install employee -f
php artisan laravel-multi-auth:install customer -f
注意:如果您不提供 -f
标志,它将无法工作。这是防止意外激活的保护措施。
替代方案
如果您想在子域中安装 Multi-Auth 文件,必须传递 --domain
选项。
php artisan laravel-multi-auth:install admin -f --domain
php artisan laravel-multi-auth:install employee -f --domain
php artisan laravel-multi-auth: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 laravel-multi-auth:install admin -f --model
如果您不想使用视图,请使用 --views
标志。
php artisan laravel-multi-auth:install admin -f --views
如果您不想在 routes/web.php
文件中使用路由,请使用 --routes
标志。
php artisan laravel-multi-auth: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
守卫,在更新包到最新版本后不要再次安装它。
v0.0.1-alpha
- 将所有过时的字符串辅助函数更新到 Laravel 6.0
- 重新格式化控制器路径和命名空间
- 重新格式化模型路径和命名空间
特别感谢 Piotr Łosiak (Hesto)
我从 hesto/multi-auth 中获得了灵感来创建此包。