使用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新手上路(十四)
Oct 09 PHP
开源php中文分词系统SCWS安装和使用实例
Apr 11 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
php处理复杂xml数据示例
Jul 11 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
May 23 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
laravel框架中间件简单使用方法示例
Jan 25 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
Aug 17 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获取地址栏信息的代码
2008/10/08 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
原生js调用json方法总结
2018/02/22 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python代码调试的几种方法总结
2015/04/15 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
python3.7 sys模块的具体使用
2019/07/22 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
美国在线印刷公司:PsPrint
2017/10/12 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
在职研究生自我鉴定
2013/10/16 职场文书
保卫工作个人总结
2015/03/03 职场文书
社团个人总结范文
2015/03/05 职场文书
联谊会开场白
2015/06/01 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
gateway网关接口请求的校验方式
2021/07/15 Java/Android