如果用户在角色中,则为Sentry/Sentinel

T2t*_*heC 9 laravel laravel-4 cartalyst-sentry

我正在尝试运行检查以查看当前用户是否与Cartalyst的Sentinel/Sentry包具有特定角色.

我发现Sentinel::inRole('admin')但似乎无法让它发挥作用.我想要这样的东西:

if(Sentinel::getUser()->hasRole('admin'){ // do some stuff }

我搜索并搜索了这个,但找不到合适的例子.我应该更多地考虑权限或什么?

希望有人可以指出我正确的方向.

干杯

小智 13

你可以inRole在这里使用Sentinel::getUser()->inRole('role_slug');.当然,这仅在用户登录时才有效.

您可能希望将其更改为此类以防止调用inRole非对象.


    if ($user = Sentinel::getUser())
    {
        if ($user->inRole('administrator'))
        {
            // Your logic
        }
    }

希望有所帮助.