shsharkar/laravel-6-multi-auth

v1.0.0.0 2020-02-27 15:25 UTC

This package is auto-updated.

Last update: 2024-09-28 02:40:57 UTC


README

  • php artisan l6ma:install {guard} -f
  • php artisan l6ma:install {guard} -f --domain
  • php 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
  • 中间件
  • 视图
  • 守卫
  • 提供者
  • 密码经纪人
  • 设置

用法

步骤 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)