zrflorent/altamrolespermisosdevel

基于laravel的角色和权限系统包

安装次数: 2

依赖关系: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

语言:Blade

类型:package

dev-master 2021-03-05 01:10 UTC

This package is auto-updated.

Last update: 2024-09-06 14:44:17 UTC


README

为laravel 8管理的角色和权限包

下载laravel 8的角色和权限包

执行以下命令将包下载并安装到Laravel 7

composer require ZrFlorent/Altamrolespermisosdevel

安装

在终端执行以下命令

composer require ZrFlorent/Altamrolespermisosdevel

要求

为了让此包正常工作,Laravel中的Laravel/ui包必须已安装。

包的使用

一旦在laravel 8中安装了此包,建议使用以下命令导出迁移、seeder文件、视图、策略等

php artisan vendor:publish --provider="ZrFlorent\Altamrolespermisosdevel\JhonatanPermisosServiceProvider"

执行上述命令后,我们将在laravel的安装中检查以下文件 config/Altampermisos.php

return [
  'RouteRole' => 'role',
  'RouteUser' => 'user',
  'IdRoleDefault' => 2
];

在此文件中,我们可以更改默认的url,以便访问角色和用户。另一方面,我们还可以更改当注册用户时分配的默认角色ID。

如果在更改配置文件后没有反映出来,那么应在终端执行以下命令

php artisan config:clear

在执行命令之前

php artisan migrate

我们建议在User模型中进行以下配置

use Illuminate\Foundation\Auth\User as Authenticatable;

//agregamos este trait
use ZrFlorent\Altamrolespermisosdevel\Traits\UserTrait; 

class User extends Authenticatable
{
	//usamos el trait
    use UserTrait;

    // ...
}

我们需要检查由包在laravel安装过程中导出的seed文件 AltamPermissionInfoSeeder.php,位于以下路径:database/seeds/AltamPermissionInfoSeeder.php,因为在此文件中,你会发现以下内容

  • 创建具有邮箱 admin@admin.com 的用户admin。用户名为admin,密码为:admin
  • 创建两个角色:管理员角色和认证用户角色。
  • 创建管理员角色和用户admin之间的关系。
  • 创建默认权限。

以下是一个示例,说明在之前提到的文件中如何创建权限

		//permission role
        $permission = Permission::create([
            'name' => 'List role',
            'slug' => 'role.index',
            'description' => 'A user can list role',
        ]);

        $permission_all[] = $permission->id;
                
        $permission = Permission::create([
            'name' => 'Show role',
            'slug' => 'role.show',
            'description' => 'A user can see role',
        ]);

        $permission_all[] = $permission->id;
                
        $permission = Permission::create([
            'name' => 'Create role',
            'slug' => 'role.create',
            'description' => 'A user can create role',
        ]);

        $permission_all[] = $permission->id;
                
        $permission = Permission::create([
            'name' => 'Edit role',
            'slug' => 'role.edit',
            'description' => 'A user can edit role',
        ]);

        $permission_all[] = $permission->id;
                
        $permission = Permission::create([
            'name' => 'Destroy role',
            'slug' => 'role.destroy',
            'description' => 'A user can destroy role',
        ]);

        $permission_all[] = $permission->id;

拥有所有必要的权限后,你必须修改 DatabaseSeeder.php 文件,以便加载seeder。

附上一个此文件应该如何的示例

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        //$this->call(UsersTableSeeder::class);
        $this->call(AltamPermissionInfoSeeder::class);
    }
}

现在,我们可以在终端执行以下命令

php artisan migrate --seed

一旦将所有表格及其权限加载到数据库中,你就可以通过url /role 访问角色,通过url /user 访问用户。

许可证

MIT