标签: entrust

为 Laravel 中资源的每个方法分配单独的中间件

我使用Zizaco/ entrust laravel 包作为我项目的 ACL 管理器。

我知道为了通过中间件限制对路由组的访问并为其分配角色(或权限),我应该这样做:

Route::group(['prefix' => 'admin', 'middleware' => ['role:admin']], function() {
    ....
});
Run Code Online (Sandbox Code Playgroud)

但我想为资源控制器的不同路由(方法)分配单独的权限。

我知道如何才能为整个资源做到这一点,但我无法为每个控制器方法实现它:

Route::group(['prefix' => 'admin', 'middleware' => ['role:admin']], function() {
        Route::resource('/post', ['middleware' => ['permission:manage-posts'], 'uses' => 'PostController']);

    });
Run Code Online (Sandbox Code Playgroud)

我想将此权限分配给相关方法:

'post-create' => public function create ()  
'post-edit' => public function edit()
Run Code Online (Sandbox Code Playgroud)

等等。

php laravel entrust

2
推荐指数
1
解决办法
2361
查看次数

Entrust - 此缓存存储在 Laravel 5.1 中不支持标记

在搜索了所有可能的答案后,我仍然不知道如何解决这个问题。我正在为 laravel使用zizaco/entrust包,每次我将数据保存到数据库中时,它都会返回一个错误

Repository.php 第 294 行中的 BadMethodCallException:
此缓存存储不支持标记。


他们说,我只需要使用CACHE_DRIVER=array,其他人说use memcached or redis。我必须使用array吗?有人说这是解决问题的正确方法。或者我可以在cache不加标签的情况下使用吗?



TIA

database caching laravel-5 entrust

2
推荐指数
1
解决办法
2126
查看次数

@role指令,用于Zizaco /委托laravel包中的多个角色

我正在使用Zizaco /委托 laravel包,现在我想在刀片模板中使用@role指令只显示一些项目,如下所示:

@role('developer,administrator')
<li><a href="/admin/permission">Permissions</a></li>
@endrole
Run Code Online (Sandbox Code Playgroud)

但这不起作用.可能吗 ?

php laravel entrust

1
推荐指数
1
解决办法
2389
查看次数

带有Entrust的Laravel 5.2 - 类名必须是有效对象或字符串

我在注册用户时遇到问题,在我的表用户中保存用户后,我尝试为该用户分配角色但我收到错误:

类名必须是有效对象或字符串.

我的代码是

(应用程序\ HTTP \控制器\ AUTH\AuthController.php)

<?php

namespace App\Http\Controllers\Auth;

use App\User;
use App\Role;

use Validator;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Controller\Auth;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
use Illuminate\Http\Request;


class AuthController extends Controller
{

    public function postRegister(Request $request){

            $this->validate($request,[
                'name' => 'required|min:4|max:255|unique:users',
                'email'=>'required|email|max:255|unique:users',
                'password'=>'required|confirmed|min:3'
                ]);

            $user_data = array(
               //$field => $request->input('login'),
               'name'=> $request->input('name'),
               'email' => $request->input('email'),
               'password' => $request->input('password')
            );

            $user=User::create([
                    'name'=>$user_data['name'],
                    'email'=>$user_data['email'],
                    'password'=>bcrypt($user_data['password']),
                    'active'=>1                
                ]);

            echo $user;
            $role = Role::where('name','=','admin')->first();

            //$user->attachRole($role->id);            
            $user->roles()->attach($role->id);

            //return redirect('auth/register')->with('message','store');

        }
}
Run Code Online (Sandbox Code Playgroud)

echo$user打印此:

{"name":"bbbbbvq","email":"bb …

php user-roles laravel entrust

0
推荐指数
1
解决办法
5570
查看次数

标签 统计

entrust ×4

laravel ×3

php ×3

caching ×1

database ×1

laravel-5 ×1

user-roles ×1