使用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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
ftp类(example.php)
Oct 09 PHP
用libTemplate实现静态网页的生成
Oct 09 PHP
PHP 的 __FILE__ 常量
Jan 15 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php实现简单的上传进度条
Nov 17 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
PHP实现的装箱算法示例
Jun 23 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 PHP
解决Laravel blade模板转义html标签的问题
Sep 03 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
2015/12/24 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
2017/03/21 jQuery
jquery对table做排序操作的实例演示
2017/08/10 jQuery
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Python 监测文件是否更新的方法
2019/06/10 Python
Python grpc超时机制代码示例
2020/09/14 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
电气技术员岗位职责
2013/11/19 职场文书
工作中个人的自我评价
2013/12/31 职场文书
小学校园活动策划
2014/01/30 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
树转促学习心得体会
2014/09/10 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
中标通知书
2015/04/17 职场文书
Python 中random 库的详细使用
2021/06/03 Python
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS