使用第三方Package: Roles
打赏作者

wenqingzzz

laravel的权限控制能不能到数据层,比如一个搜索城市的操作,一些角色搜索到上海的,一些角色搜索到北京的。

JellyBool

这跟laravel没什么具体关系,看你自己设计的权限系统能精细到什么样的程度 @wenqingzzz

jyjy

nice

Oran

什么时候可以更新一下这个系列,Laravel5.2 + Entrust。Entrust也是一个常用的包。

JellyBool

其实有了roles,entrust使用都差不多吧 @Oran

Oran

laravel 5.2 has new multi-auth and multi-model auth @JellyBool 能否录制一期 5.2的呢?5.2的multi-auth and multi-model auth 网上找不到教程。

JellyBool

我瞅瞅呗 @Oran 不过我目前得把前端系列录完先

daimingkang

这个插件不错

chenxin

我想问这个包生成了五张表,角色,权限,用户权限,角色权限,用户角色。其中的逻辑应该是一个用户是一个或多个角色,一个角色有一种或多种权限,间接的就表示了用户权限,为何要单独生成一张用户权限的表呢 !

JellyBool 回复 chenxin

因为有些应用场景执行,我们可以通过 permission 来直接判断就可以了。permission 和 role 是对应不同的应用场景

chenxin 回复 JellyBool

也就是说那么如果一个用户是一个member角色,member拥有浏览文章的权限,这两句话就在四张表中插入了相应的数据,那么在剩下的用户权限表中必须也插入一行数据:user_id 和Permission_id并且和此权限是浏览文章的权限 ! 这样才是完整的一个用户权限表,对么?

engty

bican/roles 在Laravel 5.3里面用不了啦!!!教主快来救我…

JellyBool 回复 engty

你用这个试试,有人接着维护了,这个应该兼容 5.3

https://github.com/httpoz/roles

engty 回复 JellyBool

用了,可是这个简化了,只有roles,没有了permission,没有can()方法……

JellyBool 回复 engty

现在用这个了么?上面的简化,貌似是因为 laravel 自带应该就可以实现 permissions 和 can

wuyutaott

composer update 不能乱用 那到底址在是时候用 ,请指教。谢谢如果你引入包用了 那其他包也会被更新 。那权限管理模块上线 线上是不是也要更新包 会有什么问题吗?

wuyutaott

这个可以实现 根据角色显示不一样的菜单导航了吗!谢谢

MarksGui888

Jelly Bool,在这总是能找到惊喜; 我使用Entrust包的时候,trait重名了,我重命名了entrust的can方法,结果导致我调用的时候 全部return false。 用你提到的 insteadof方法修改下,就OK了!
非常感谢啊

JellyBool 回复 MarksGui888

啊哈,挺好的。

这就是学习和举一反三的过程

13617622968

请问一下,我在给一个 user 赋值一个权限的时候报错 , 这个是因为什么原因呢 , 报错如下

Call to a member function attachPermission() on null
代码
permission=Permission::find(1);permission = Permission::find(1); user = User::find(1);
user>attachPermission(user->attachPermission(permission);

JellyBool 回复 13617622968

数据库中没存在id为1的用户

flxxyz

``
app/User.php

use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Ultraware\Roles\Traits\HasRoleAndPermission;
use Ultraware\Roles\Contracts\HasRoleAndPermission as HasRoleAndPermissionContract;

class User extends Model implements HasRoleAndPermissionContract
{
use HasRoleAndPermission;
``

UncleCaozy
$user->is('admin')

这个is()函数是怎么个原理,

JellyBool 回复 UncleCaozy

admin 是 role 的 slug 吧,根据这个找 一个 role ,再看其 user 是否包含当前的 user

UncleCaozy

是判断$user里面有没有‘admin’这条信息吗

newbee

请问现阶段推荐用哪个rbac?

newbee 回复 JellyBool

好,我试试,感谢!

yansudong

老师,我在用hasRole()方法的时候

$user = User::find(4);
        if($user->HasRole(5)){
            return 1;
        }
        return 2;
    }

提示我Trying to get property of non-object in file D:\WampDemo\XC\vendor\bican\roles\src\Bican\Roles\Traits\HasRoleAndPermission.php on line 104 。我的$user是存在的,也是object类型的啊,为什么会出错

JellyBool 回复 yansudong

完整一点的代码可以看看么?