美文网首页
Laravel的用户授权policy

Laravel的用户授权policy

作者: 小慕先森 | 来源:发表于2017-08-12 15:39 被阅读0次

一、定义策略类
场景:文章的修改和删除操作

php artisan make:policy ArticlePolicy

二、编写策略类

<?php

namespace App\Policies;

use App\Http\Model\Article;
use App\User;
use Illuminate\Auth\Access\HandlesAuthorization;

class ArticlePolicy
{
    use HandlesAuthorization;

    /**
     * Create a new policy instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    //修改
    public function update(User $user, Article $article){
        return $user->id === $article->user_id;
    }
    //删除
    public function delete(User $user, Article $article){
        return $user->id === $article->user_id;
    }
}

三、注册策略类和模型关联
AuthServiceProvider中增加

protected $policies = [
//        'App\Model' => 'App\Policies\ModelPolicy',
        'App\Http\Model\Article' => 'App\Policies\ArticlePolicy',
    ];

四、策略判断
控制器中判断:

public function update(Article $article){
        $this->authorize('update',$article);
}
public function destroy(Article $article){
        $this->authorize('delete',$article);
}

模板中判断权限:

@can('update', $article)
            .....
 @endcan

@can('delete', $article)
            .....
 @endcan

相关文章

  • laravel用户授权Policy

    步骤 定义策略类 注册策略类和模型关联 策略判断 定义一个文章post的policy /app/Policies下...

  • Laravel的用户授权policy

    一、定义策略类场景:文章的修改和删除操作 二、编写策略类 三、注册策略类和模型关联AuthServiceProvi...

  • Laravel 用户授权 Gate和Policy

    要点: Laravel 有 2 种主要方式来实现用户授权:gates 和策略。 Gates 接受一个当前登录用户的...

  • 授权

    授权 授权策略 必须 使用 授权策略 类来做用户授权。 使用基类 所有 Policy 授权策略类 必须 继承 ap...

  • Laravel中的用户授权使用

    主要两种方式来实现用户授权:gates和policy policy 创建 命令行方式php artisan mak...

  • Laravel--用户授权

    1、简介 除了提供开箱即用的认证服务之外,Laravel 还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问...

  • laravel5.6之权限策略

    在用户登录之后,可以使用laravel中的权限策略(policy)给用户的操作进行权限控制。比方说,当不是管理员登...

  • 介绍 Laravel 授权方式 Gate 和 Policy

    两种形式 Laravel 在 AuthServiceProvider 的 boot 方法里定义授权,有两种形式。 ...

  • .netcore升级遇到的一个小问题

    一般我们在Action加[Authorize(Policy="XXX")]来授权用户是否有权限访问该Action,...

  • 转载 laravel5.5 cors has been blo

    转载地址:laravel5.5 cors has been blocked by CORS policy: Req...

网友评论

      本文标题:Laravel的用户授权policy

      本文链接:https://www.haomeiwen.com/subject/lxljrxtx.html