为laravel 5.5中的每个页面提供每个用户角色

时间:2017-09-22 00:56:50

标签: php laravel

我正在开发一个laravel 5.5项目 他们告诉我要为每一页起作用 创建编辑更新删除搜索softdelete

所以我创建了用户表 这是迁移

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('user_name',40)->unique();
        $table->string('user_email',40)->nullable()->unique();
        $table->string('user_phone',40)->nullable()->unique();
        $table->integer('user_department');
        $table->string('password',60);
        $table->rememberToken();
        $table->timestamps();
        $table->softDeletes();
    });
}

我创建了模型表这是迁移

public function up()
{
    Schema::create('models', function (Blueprint $table) {
        $table->increments('id');
        $table->string('model_name',40)->unique();
        $table->timestamps();
        $table->softDeletes();
    });
}

我创建了modelroles表

public function up()
{
    Schema::create('modelroles', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('model_id');
        $table->integer('user_id');
        $table->integer('create');
        $table->integer('read');
        $table->integer('update');
        $table->integer('softdelete');
        $table->integer('delete');
        $table->integer('restore');
        $table->integer('search');
        $table->timestamps();
    });
}

我创建了名为roleMiddleware的middlewaer 这是代码

use Closure;
class roleMiddleware
{
public function handle($request, Closure $next)
{
    return $next($request);
}
}

那么如何在中间件中将它们连接在一起呢? 我想要的是给每个页面中的每个用户角色创建读取更新删除等 意思是检查请求来自的URL 并检查用户ID 并检查型号ID 并检查modelroles中的user_id和model_id 如果他可以在模型上创建编辑更新删除 我不想使用这样的包 https://github.com/laravel-enso/RoleManager 或这个 https://github.com/Zizaco/entrust 我不想连接具有全局角色的用户 我想为每个控制器赋予每个用户角色

0 个答案:

没有答案