imansugirman/backpack-multiauth

此包允许用于 laravel-backpack。

dev-master 2019-05-30 17:17 UTC

This package is auto-updated.

Last update: 2024-09-29 06:02:36 UTC


README

随着 backpack 改进了我们使用认证守卫、中间件等方式的方式,laravel-backpack-multiauth 将不再获得任何更新。

Laravel-Backpack-Multiauth

StyleCI Build Status Latest Stable Version Total Downloads License

在 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
  • 中间件
  • 视图
  • 守卫
  • 提供者
  • 密码代理
  • 设置
  • 作用域

用法

步骤 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)。请参阅许可文件以获取更多信息。