使用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基础知识:类与对象(5) static
Dec 13 PHP
火车头采集器3.0采集图文教程
Mar 17 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
基于php无限分类的深入理解
Jun 02 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
自制PHP框架之路由与控制器
May 07 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
Aug 27 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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
第三节--定义一个类
2006/11/16 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
详解Nodejs之npm&package.json
2017/06/15 NodeJs
vue-router单页面路由
2017/06/17 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
基于AngularJS的简单使用详解
2017/09/10 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
Python执行时间的几种计算方法
2020/07/31 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
业务主管岗位职责范本
2013/12/25 职场文书
组工干部对照检查材料
2014/08/25 职场文书
盲山观后感
2015/06/11 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书