使用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 相关文章推荐
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
PHP实现批量上传单个文件
Dec 29 PHP
CI映射(加载)数据到view层的方法
Mar 28 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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
php备份数据库类分享
2015/04/14 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
javascript 解析url的search方法
2010/02/09 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
JavaScript创建对象方法实例小结
2018/09/03 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
vue实现循环切换动画
2018/10/17 Javascript
python中的五种异常处理机制介绍
2014/09/02 Python
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
python从内存地址上加载python对象过程详解
2020/01/08 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
python opencv实现图像配准与比较
2021/02/09 Python
耐克美国官网:Nike.com
2016/08/01 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
家长评语怎么写
2014/12/30 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
士兵突击观后感
2015/06/16 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers