使用laravel根据用户类型来显示或隐藏字段
在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根据用户类型来显示或隐藏字段就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
表单提交时隐藏数据 读取最后一条的插入数据,但这样会造成如果两条数据同时插入,会并发出现错误 //忽略掉不需要保存的字段 $form->ignore(['column1', 'column2', 'column3']); 回调时获取数据 获取提交数据 // 在表单提交前调用 $form->submitted(function (Form $form) { //... }); //保存前回调 $form->saving(function (Form $form) { $form->u
-
laravel 字段格式化 modle 字段类型转换方法
有些字段会用base64_decode加密存储,在每次查询都要查询出来解码.比较麻烦,laravel的model提供方法处理 在对应的model里面 格式为(set/get)(字段名称,注1)(Attribute) 注: 1.首字母大写,下划线的地方字母大写.例如product_json在这里的写法是ProductJson /** * 查询用户的时候name字段处理 * * @author Eric * @param $value * @return string */ public funct
-
使用laravel根据用户类型来显示或隐藏字段
在api开发中,有时候需要对自己以外的其他普通用户隐藏字段,比如隐藏手机号.而对于admin用户,则又不需要隐藏手机号. 所以,需要设计一种能够简单的根据不同用户来显示或隐藏字段的方式. 方法基于laravel实现 use Illuminate\Database\Eloquent\Model; class User extends Model { /** * 重写toArray方法 */ public function toArray(){ //获取api用户 $me=app(Request::
-
jQuery实现根据类型自动显示和隐藏表单
jquery实现表单根据单选按钮进行字段的动画切换,昨天写的,感觉比起初学时写的js/jquery有了很大进步..在最大化扩展性的情况下经可能使代码精简. html 复制代码 代码如下: <div class="control-group"> <label class="control-label">类型:</label> <div class=
-
Laravel框架之解决前端显示图片问题
最近做项目,功能是在用户上传图片成功后显示该图片,在本地测试(WAMP环境)下正常显示,但是部署到服务器上(LNMP)下无法显示. 因为LNMP环境下域名直接指向Laravel框架下的public目录,public为Laravel框架唯一对外公开的文件夹,而我的图片保存在storage/images,无法直接访问.查了官网文档发现可以在Linux下建立文件软链接,但试了以后没成功(可能是我打开的方式不对).而且这样做在WAMP下又不能显示图片了 最后,还是决定将图片保存在public/image
-
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
问题:表单怎么在输入后立即验证,而不是提交后再验证那么不方便(网上搜到的要么是模棱两可,要么是残缺不全-) 方法:鉴于此,加上我个人的理解(注释)在上面. 截图: 代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>用户注册</title
-
Laravel重写用户登录简单示例
本文实例讲述了Laravel重写用户登录的方法.分享给大家供大家参考,具体如下: class AuthController extends Controller { // use ThrottlesLogins, AuthenticatesAndRegistersUsers; protected $redirectTo = 'admin/index'; protected $loginView = 'admin/login'; protected $guard = 'admin'; protec
-
JSP实现简单的用户登录并显示出用户信息的方法
本文实例讲述了JSP实现简单的用户登录并显示出用户信息的方法.分享给大家供大家参考.具体实现方法如下: login.jsp 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <% String path = request.getContextPath(); String basePath = request.
-
C#中DateTime日期类型格式化显示方法汇总
本文汇总了常用的DateTime日期类型格式化显示方法,方便读者在使用的时候参考借鉴一下.具体如下所示: 1.绑定时格式化日期方法: <ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " > <ITEMSTYLE WIDTH= "18% " > </ITEMSTYLE > </ASP:BOUNDCOLUMN
-
Laravel框架用户登陆身份验证实现方法详解
本文实例讲述了Laravel框架用户登陆身份验证实现方法.分享给大家供大家参考,具体如下: laravel中检测用户是否登录,有以下的代码: if ( !Auth::guest() ) { return Redirect::to('/dashboard'); } 那Auth::guest是如何调用的呢? laravel用了Facade模式,相关门面类在laravel/framework/src/Illuminate/Support/Facades文件夹定义的,看下Auth类的定义: class
-
laravel 实现用户登录注销并限制功能
1. 创建登录控制器 在项目根目录输入: php artisan make:controller Admin/LoginController 2.创建用户模块 以及数据库 php artisan make:model Model/Admin -m 运行之后 项目中会新增两个PHP文件 新创建了admins用户表,此用户表默认新建中只有主键,创建时间,编辑时间.我们接下来新加两个字段 用户名(username) 和密码(password). 在up函数中加上这两个字段,后面可以按自己的需求添加属性
-
laravel的用户修改密码与绑定邮箱的详细操作
目录 一.修改密码 1.1 创建修改密码控制器 1.2 创建修改密码路由 1.3 测试效果 二.绑定邮箱 2.1 绑定邮箱控制器 2.2 创建对应路由 2.3 创建发送邮件的类 2.4 测试效果 一.修改密码 1.1 创建修改密码控制器 运行命令php artisan make:controller Auth/PasswordController 写入修改密码方法: /** * 修改密码 */ public function updatePassword(Request $request) {
随机推荐
- Perl使用File::Basename获取文件扩展名的代码
- 如何用变量实现群聊和悄悄话?
- 堵住黑客非法入侵的11点原则
- 用vbscript实现修改屏幕保护的等待时间长度
- java自定义线程模型处理方法分享
- python里对list中的整数求平均并排序
- JavaScript中的作用域链和闭包
- 网页屏蔽(左右键,代码等)的非JS方法第1/2页
- 一篇入门的php Class 文章
- Nodejs实现文件上传的示例代码
- 正宗的日历(含农历)
- Java实现给网站上传图片盖章的方法
- jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
- javascript编程必备_JS语法字典第1/2页
- WinForm限制窗体不能移到屏幕外的方法
- Java代码重构的几种模式详解
- Java实现操作JSON的便捷工具类完整实例【重写Google的Gson】
- Android 复制文本内容到系统剪贴板的最简单实例(分享)
- 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
- Tomcat搭建本地服务器的图文教程