imansugirman / backpack-multiauth
此包允许用于 laravel-backpack。
Requires
- php: >=7.0
- illuminate/auth: *
- illuminate/container: *
- illuminate/contracts: *
- illuminate/database: *
- illuminate/filesystem: *
Requires (Dev)
- backpack/crud: ^3.6
- laravel/laravel: ^5.8
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-29 06:02:36 UTC
README
随着 backpack 改进了我们使用认证守卫、中间件等方式的方式,laravel-backpack-multiauth 将不再获得任何更新。
Laravel-Backpack-Multiauth
在 Laravel 和 backpackforlaravel.com 上轻松实现开箱即用的多认证。
并且使用 laravel-permisson,您还可以创建伪用户模型以通过角色提供认证。
php artisan zoutapps:multiauth生成新的认证守卫并设置一切。php artisan zoutapps:roleauth生成带有角色和设置相应守卫的用户子类。php artisan zoutapps:backpack:multiauth将默认 backpack 认证模型和守卫替换为新创建的。php artisan zoutapps:backpack:roleauth将默认 backpack 认证模型和守卫替换为新创建的角色基础。
它做什么?
通过一个简单的命令,您可以为 Laravel 5.4 项目设置多/角色认证。
包安装
- 模型
- 迁移
- 控制器
- 通知
- 路由
- routes/web.php
- {guard}/login
- {guard}/register
- {guard}/logout
- 密码重置路由
- routes/{guard}.php
- {guard}/home
- routes/web.php
- 中间件
- 视图
- 守卫
- 提供者
- 密码代理
- 设置
- 作用域
用法
步骤 1:通过 Composer 安装
由于此包目前处于测试版,因此没有稳定版本,您需要将 "zoutapps/laravel-backpack-multiauth": "dev-master" 添加到 composer.json 中的 require-dev 部分,并执行 composer update
步骤 2:添加服务提供者
您只想将此包用于本地开发,因此您不想更新生产 providers 数组中的 config/app.php。相反,在 app/Providers/AppServiceProvider.php 中添加提供者,如下所示
public function register() { if ($this->app->environment() == 'local') { $this->app->register(ZoutApps\LaravelBackpackAuth\AuthServiceProvider::class); } }
步骤 3:运行命令
通过运行命令,您可以为 Laravel 设置多/角色认证或切换到新的 laravel-backpack 模型。
php artisan zoutapps:multiauth {singular_lowercase_name_of_guard}
// Examples
php artisan zoutapps:multiauth admin
php artisan zoutapps:multiauth employee
php artisan zoutapps:multiauth customer
php artisan zoutapps:roleauth {singular_lowercase_name_of_guard}
// Examples
php artisan zoutapps:roleauth admin
php artisan zoutapps:roleauth employee
php artisan zoutapps:roleauth customer
php artisan zoutapps:backpack:multiauth {singular_lowercasae_name_of_guard}
// Example
php artisan zoutapps:backpack:multiauth administrator
php artisan zoutapps:backpack:roleauth {singular_lowercasae_name_of_guard} {exact_role_name}
// Example
php artisan zoutapps:backpack:multiauth administrator
注意
您可以使用 -f 标志强制覆盖现有文件。如果您没有提供 -f,我们将在覆盖之前始终询问您。
替代方案:如果您想在子域中安装多认证文件,则必须传递 --domain 选项。
php artisan zoutapps:multiauth admin --domain
php artisan zoutapps:multiauth employee --domain
php artisan zoutapps:multiauth customer --domain
为了能够正确使用此功能,您应该在 .env 文件中添加一个密钥
APP_DOMAIN=yourdomain.com
这将允许我们在路由文件中使用它,并在 Laravel 路由系统中的域名功能前添加前缀。
使用方式: ['domain' => '{guard}.' . env('APP_DOMAIN')]。
步骤 4:迁移模型(如果不是角色认证)
php artisan migrate
步骤 5:尝试使用
转到: http://url_to_your_project/guard/login
示例: http://project/admin/login
选项
如果您想查看哪些文件被生成或修改,请提供 -v 标志。
如果您不想使用模型和迁移,请使用 --model 标志。
php artisan zoutapps:multiauth admin --model
如果您不想使用视图,请使用 --views 标志。
php artisan zoutapps:multiauth admin --views
如果您不想在 routes/web.php 文件中使用路由,请使用 --routes 标志。
php artisan zoutapps:multiauth admin --routes
注意
如果您想在 guard 注销后调整重定向路径,请添加并覆盖以下方法 {guard}Auth\LoginController
/** * Get the path that we should redirect once logged out. * Adaptable to user needs. * * @return string */ public function logoutToPath() { return '/'; }
变更日志
请参阅CHANGELOG以获取更多关于变更的信息。
鸣谢
此软件包受到多个Laravel MultiAuth、spatie/laravel-permission教程和指南以及多个Laracasts的影响。
许可协议
MIT许可协议(MIT)。请参阅许可文件以获取更多信息。