laravel策略类,实现当前登陆的用户是否具有删除,修改文章的权限
策略类依赖月门脸类Auth
首先创建一个门脸类 make:auth
然后再创建一个策略 php artisan make:policy PostPolicy
定义Auth的登陆类,用的是哪个模型登陆,我这边用的是People类

这边指定一下要传入的模型,必须下面方法里面传入的是一样的模型

//在策略类里面验证一下修改
//一个对象不要你传,自动是门脸类登陆模型,必须一样,不然就是一直没有权限
//第二个参数就是传入的,AuthServiceProvider.php在这个配置文件里面定义的的必须一样
//判断我登陆的用户的id,和文章的作者id进行比对
切记,第一个参数一定是门脸类的参数

怎么用这个策略,就是这一段话,第一个参数是策略的方法名,第二个是参数名字

也可以直接在模板里面用,用法和第一种一样

错误类型
1 传入策略类的参数不对
切记策略类,第一个参数一定是门脸类的参数

验证传入的参数对不对的方法,直接DD 传入的门脸类,如何能打印出来,那就是传对了,设置也对了,如果是没有权限,那就是设置错了

laravel策略类,实现当前登陆的用户是否具有删除,修改文章的权限的更多相关文章
- Laravel大型项目系列教程(四)显示文章列表和用户修改文章
小编心语:不知不觉已经第四部分了,非常感谢很多人给小编提的意见,改了很多bug,希望以后能继续帮小编找找茬~小编也不希望误导大家~这一节,主要讲的 是如何显示文章列表和让用户修改文章,小编预告一下(一 ...
- Laravel 5.1 ACL权限控制 二 之策略类
随着应用逻辑越来越复杂,要处理的权限越来越多,将所有权限定义在AuthServiceProvider显然不是一个明智的做法,因此Laravel引入了策略类,策略类是一些原生的PHP类,和控制器基于资源 ...
- struts2使用拦截器完成登陆显示用户信息操作和Struts2的国际化
其实学习框架,就是为了可以很好的很快的完成我们的需求,而学习struts2只是为了替代之前用的servlet这一层,框架使开发更加简单,所以作为一个小菜鸟,特别感谢那些超级无敌变态开发的框架供我们使用 ...
- Laravel策略(Policy)示例
场景:当前用户创建的订单,只能当前用户自己看,可以通过授权策略类(Policy)来实现 1.php artisan make:policy OrderPolicy 成功后,默认只有一个构造方法.因为涉 ...
- 重写Laravel异常处理类
现在开发前后端分离变得越来越流行了,后端只提供接口返回json格式的数据,即使是错误信息也要以json格式来返回,然而目前无论是Laravel框架还是ThinkPHP框架,都只提供了返回json数据的 ...
- Python作业之三次登陆锁定用户
作业之三次登陆锁定用户 作业要求如下: 1. 输入用户名和密码 2. 认证成功提示欢迎信息 3. 认证失败三次锁定用户 具体代码如下: 方法1: import os#导入os模块 if os.path ...
- 第四百零六节,自定义用户表类来继承Django的用户表类,
第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...
- 转:通过ASP.Net页面获取域用户名(当前登陆的用户)
通过ASP.Net页面获取域用户名(当前登陆的用户) 原文地址: https://www.cnblogs.com/fast-michael/archive/2011/03/14/2057954.htm ...
- oracle 创建create user 及授权grant 查看登陆的用户
show user; select sys_context('userenv','session_user') from dual; select user from dual; 查看所有登录的用户必 ...
随机推荐
- Precision/Recall、ROC/AUC、AP/MAP等概念区分
1. Precision和Recall Precision,准确率/查准率.Recall,召回率/查全率.这两个指标分别以两个角度衡量分类系统的准确率. 例如,有一个池塘,里面共有1000条鱼,含10 ...
- (六)HTML5立方体动画设置
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vagrant 常用命令
Vagrant 常用命令 首先需要创建一个目录用于存放Vagrantfile文件以及Vagrant在工作中的数据: mkdir my-vagrant-project cd my-vagrant-pro ...
- phpcms URL修改
修改caches\configs\system.php中'html_root' => 'html',//生成静态文件路径改成'html_root' => '',//生成静态文件路径,然后修 ...
- CentOS 6.5添加网易163源
换国内的yum源. 准备工作,首先备份/etc/yum.repos.d/CentOS-Base.repo cd /etc/yum.repos.d/ wget http://m ...
- C++中cin的使用总结
在学习C++时大家肯定迷惑过关于输入输出各种输出函数的功能,现在来总结一下各种函数的简单用法. cin建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲 ...
- 阿里云服务器tomcat启动慢解决方案
yum -y install rng-tools( 熵服务) cp /usr/lib/systemd/system/rngd.service /etc/systemd/system v ...
- 【转】Jmeter的正则表达式未正确提取数据
在进行脚本调试时,在Apply-Money-Page中需要Save-base中header的id参数,采用正则表达式提取器获取 使用正则表达式提取器,结果无法获取到需要的参数 最后定位是因为[?]是一 ...
- js中如何将字符串转化为时间,并计算时间差
在前台页面开发时通常会用到计算两个时间的时间差,先在此附上实现方法 //结束时间 end_str = ("2014-01-01 10:15:00").replace(/-/g,&q ...
- mybatis配置ehcache缓存
1:在spring配置文件中加载缓存配置文件 <!-- 使用ehcache缓存 --> <bean id="ehCacheManager" class=" ...