使用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 相关文章推荐
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
Oct 27 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
Yii框架弹出框功能示例
Jan 07 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 14 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/10/09 PHP
PHP 单引号与双引号的区别
2009/11/24 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
javascript类继承机制的原理分析
2009/09/12 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
python里大整数相乘相关技巧指南
2014/09/12 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
仓库管理专业个人的自我评价
2013/12/30 职场文书
结婚周年感言
2014/02/24 职场文书
百日安全活动总结
2014/05/04 职场文书
企业标语口号
2014/06/10 职场文书
警告通知
2015/04/25 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
PHP正则表达式之RCEService回溯
2022/04/11 PHP