使用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 破解防盗链图片函数
Dec 09 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
PHP实现生成唯一会员卡号
Aug 24 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
Yii2.0中的COOKIE和SESSION用法
Aug 12 PHP
thinkphp配置文件路径的实现方法
Aug 30 PHP
thinkphp框架类库扩展操作示例
Nov 26 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
截获网站title标签之家内容的例子
2006/10/09 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
jQuery动态添加
2016/04/07 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
AngularJS中实现动画效果的方法
2016/07/28 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
js模糊查询实例分享
2016/12/26 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
Node.js 实现抢票小工具 & 短信通知提醒功能
2019/10/22 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
学习2014年全国两会心得体会
2014/03/12 职场文书
新闻编辑求职信
2014/04/09 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
PHP中strval()函数实例用法
2021/06/07 PHP
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript
python中validators库的使用方法详解
2022/09/23 Python