使用laravel根据用户类型来显示或隐藏字段


Posted in PHP onOctober 17, 2019

在api开发中,有时候需要对自己以外的其他普通用户隐藏字段,比如隐藏手机号。而对于admin用户,则又不需要隐藏手机号。

所以,需要设计一种能够简单的根据不同用户来显示或隐藏字段的方式。

方法基于laravel实现

use Illuminate\Database\Eloquent\Model;
class User extends Model
{
 /**
  * 重写toArray方法
  */
 public function toArray(){
  //获取api用户
  $me=app(Request::class)->user("api");
  if ($me!=null)
  {
   if ($me instanceof AdminUser)
   {
    //如果是admin用户
    //TODO:使用admin用户的显示规则
   }else if($me instanceof User){
    if ($me->id==$this->id)
    {
     //如果是自己
     //TODO:使用面向自己的显示规则
    }else{
     //如果是其他普通用户
     //TODO:使用面向其他普通用户的显示规则
    }
   }
  }
  return parent::toArray();
 }
}

这样实现后,就不需要针对每一个api去修改规则了

以上这篇使用laravel根据用户类型来显示或隐藏字段就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
php防攻击代码升级版
Dec 29 PHP
PHP下判断网址是否有效的代码
Oct 08 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
PHP中array_map与array_column之间的关系分析
Aug 19 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 #PHP
TP5框架请求响应参数实例分析
Oct 17 #PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 #PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 #PHP
使用laravel的Eloquent模型如何获取数据库的指定列
Oct 17 #PHP
解决laravel查询构造器中的别名问题
Oct 17 #PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 #PHP
You might like
PHPMailer安装方法及简单实例
2008/11/25 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
php实现文件下载代码分享
2014/08/19 PHP
php中执行系统命令的方法
2015/03/21 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
实例讲解Python爬取网页数据
2018/07/08 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
请介绍一下Ant
2016/07/22 面试题
解释i节点在文件系统中的作用
2013/11/26 面试题
幼儿园教师国培感言
2014/02/02 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
合作意向协议书范本
2014/03/31 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers