akunbeben/fortify-role

此包已被弃用且不再维护。未建议替换包。

Fortify的基本多角色认证包。

v1.0.1 2021-05-17 20:57 UTC

This package is auto-updated.

Last update: 2023-11-26 19:49:46 UTC


README

laravel-logolockup-cmyk-red.svg

Fortify Role

Fortify的基本多角色认证包。

GitHub license GitHub Workflow Status GitHub release (latest SemVer)

要求

  • Laravel ^8.x
  • Laravel/Fortify ^1.x

安装

我建议您只在全新的项目中安装此包。

使用composer安装此包

composer require akunbeben/fortify-role

使用

在继续此过程之前,请确保FortifyServiceProvider.php已在config/app.php中注册。如果已经注册,您可以跳过此步骤。

'providers' => [
    ...
    App\Providers\FortifyServiceProvider::class,
],

然后发布包的供应商文件。需要--force,因为它将替换RedirectIfAuthenticated中间件。

php artisan vendor:publish --provider="Akunbeben\FortifyRole\FortifyRoleServiceProvider" --force

然后,将HasRole特质添加到您的User模型中。

<?php

namespace App\Models;

use Akunbeben\FortifyRole\Traits\HasRole;
...

class User extends Authenticatable
{
    use HasFactory, Notifiable, HasRole;
    ...
}

现在您需要运行迁移,我建议使用生成器进行迁移。或者,如果您想修改生成器,可以在database/seeders/RoleSeeder.phpdatabase/seeders/UserSeeder.php中找到生成器文件。

php artisan migrate --seed

最后,您可以在路由中使用role中间件,如下面的示例所示

...
Route::group(['middleware' => ['auth', 'role:admin']], function () {
    
});

Route::group(['middleware' => ['auth', 'role:user']], function () {
    
});

注意

  • 在角色表的迁移文件中,有一个默认值用于将角色分配给注册用户。您可以根据需要调整它。