用户角色权限控制包 Laravel-permissio

66 篇文章 4 订阅

用户角色权限控制包

一般我们要写curb控制的时候,是非常繁多的事,所以,就产生了一个用户角色权限控制包
此软件包允许我管理数据库中的用户权限和角色

通过composer安装

composer require spatie/laravel-permission

安装完成后,这个扩展会提供生成迁移文件的命令
生成数据库迁移文件:

php artisan vendor:publish
–provider=“Spatie\Permission\PermissionServiceProvider” --tag=“migrations”

在这里插入图片描述

在 migration 目录下可看到相关表信息,执行数据库迁移

php artisan migrate

会生成这些表
在这里插入图片描述
还需要生成配置信息:

php artisan vendor:publish
–provider=“Spatie\Permission\PermissionServiceProvider” --tag=“config”

生成成功后,会在config配置目录中生成一个文件
在这里插入图片描述
如果需要去使用它,还需要去引入它的包
比如,在user模型下加载
在这里插入图片描述
如果想要在数据库中填充默认权限
创建权限管理的填充文件

php artisan make:seeder PermissionSeeder

在里面写入这些数据


   //添加权限
        //填充用户权限数据
        $permissions = [
            ['name' => 'users.lock', 'cn_name' => '用户启用禁用','guard_name'=>'api'],
            ['name' => 'users.index', 'cn_name' => '用户列表','guard_name'=>'api'],
            ['name' => 'users.show', 'cn_name' => '用户详情','guard_name'=>'api'],
            ['name' => 'category.status', 'cn_name' => '分类的禁用和启用','guard_name'=>'api'],
            ['name' => 'category.index', 'cn_name' => '分类列表','guard_name'=>'api'],
            ['name' => 'category.store', 'cn_name' => '分类添加','guard_name'=>'api'],
            ['name' => 'category.show', 'cn_name' => '分类详情','guard_name'=>'api'],
            ['name' => 'category.update', 'cn_name' => '分类更新','guard_name'=>'api'],
            ['name' => 'goods.on', 'cn_name' => '商品上架下架','guard_name'=>'api'],
            ['name' => 'goods.recommend', 'cn_name' => '商品推荐','guard_name'=>'api'],
            ['name' => 'goods.index', 'cn_name' => '商品列表','guard_name'=>'api'],
            ['name' => 'goods.store', 'cn_name' => '商品添加','guard_name'=>'api'],
            ['name' => 'goods.show', 'cn_name' => '商品详情','guard_name'=>'api'],
            ['name' => 'goods.update', 'cn_name' => '商品更新','guard_name'=>'api'],
            ['name' => 'goods.destroy', 'cn_name' => '商品删除','guard_name'=>'api'],
            ['name' => 'comments.index', 'cn_name' => '评价列表','guard_name'=>'api'],
            ['name' => 'comments.show', 'cn_name' => '评价详情','guard_name'=>'api'],
            ['name' => 'comments.reply', 'cn_name' => '评价回复','guard_name'=>'api'],
            ['name' => 'orders.index', 'cn_name' => '订单列表','guard_name'=>'api'],
            ['name' => 'orders.show', 'cn_name' => '订单详情','guard_name'=>'api'],
            ['name' => 'orders.post', 'cn_name' => '快递发货','guard_name'=>'api'],
            ['name' => 'slides.seq', 'cn_name' => '轮播图排序','guard_name'=>'api'],
            ['name' => 'slides.status', 'cn_name' => '轮播图状态','guard_name'=>'api'],
            ['name' => 'slides.index', 'cn_name' => '轮播图列表','guard_name'=>'api'],
            ['name' => 'slides.store', 'cn_name' => '添加轮播图','guard_name'=>'api'],
            ['name' => 'slides.update', 'cn_name' => '轮播图更新','guard_name'=>'api'],
            ['name' => 'slides.destroy', 'cn_name' => '轮播图删除','guard_name'=>'api'],
            ['name' => 'menus', 'cn_name' => '菜单管理','guard_name'=>'api'],
        ];
        //将数据插入到权限表中
        foreach ($permissions as $p) {
            Permission::create($p);
        }
        //添加角色
        $role = Role::create(['name' => 'admin', 'cn_name' => '超级管理员','guard_name'=>'api']);
        //为角色添加权限
        $role->givePermissionTo(Permission::all());//所有权限都添加

这些填充命令就可以了。但是这样是需要一个一个命令去填充的,可以把这个文件引入到默认的填充文件中
database\seeders\DatabaseSeeder.php

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小信啊啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值