本文目录

  • 一、用户详情接口
    • 1.1 配置路由模型
    • 1.2 用户详情控制器方法
    • 1.3 效果
  • 二、封禁和启用用户接口
    • 2.1 用户表增加字段
      • 1、生成迁移文件
      • 2、执行迁移文件
      • 3、效果
    • 2.2 控制器方法
      • 1、方法
      • 2、效果
  • 三、修改登陆
    • 3.1 将锁定的用户禁止登陆。
    • 3.2 效果

一、用户详情接口

1.1 配置路由模型

app/Http/Kernel.php中增加代码:

'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,

laravel 核心类Kernel:处理网络请求的核心类,它会在app容器准备好了之后,就会调用这个类,之后所有的处理都在此类中。


功能:

  1. 初始化网站配置。
  2. 添加meddlerware功能
  3. 配置router,并把请求发送到router

routes/admin.php中添加这个中间件:

1.2 用户详情控制器方法

    /*** 用户详情*/public function show(User $user){return $this->response()->item($user, new UserTransformer());}

1.3 效果


可以看到这里给我们返回了data再包含一个对象,获取用户详情的我们只想要一个对象,里面是信息的话,就可以使用一个插件liyu/dingo-serializer-switch。
运行命令 composer require liyu/dingo-serializer-switch

进行安装。
这里给出了用法:

修改routes/admin.php

中间件:
bindings:支持路由模型注入
serializer:array:减少transformer的包裹层

效果:

可以看到返回就是一个对象了。

二、封禁和启用用户接口

2.1 用户表增加字段

1、生成迁移文件

运行命令生成迁移文件php artisan make:migration add_is_locked_to_users_table --table=users

2021_08_09_181147_add_is_locked_to_users_table.php写入代码:

<?phpuse Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;class AddIsLockedToUsersTable extends Migration
{/*** Run the migrations.** @return void*/public function up(){Schema::table('users', function (Blueprint $table) {$table->tinyInteger('is_locked')->default(0)->after('email') // after 将is_locked放在email字段后面->comment('用户禁用状态: 0启用,1禁用');});}/*** Reverse the migrations.** @return void*/public function down(){Schema::table('users', function (Blueprint $table) {//});}
}

2、执行迁移文件

运行命令php artisan migrate

3、效果


可以看到用户表这里已经插入了is_locked字段,并且在email字段后面。

2.2 控制器方法

1、方法

    /*** 禁用用户和启用用户*/public function lock(User $user){$user -> is_locked = $user ->is_locked== 0 ? 1 : 0;$user -> save();return $this->response()->noContent(); // 更新直接返回无响应的状态}

2、效果


三、修改登陆

3.1 将锁定的用户禁止登陆。

登陆控制器LoginController.php

    /*** 登陆*/public function login(LoginRequest $request){  $credentials = request(['email', 'password']);if (!$token = auth('api')->attempt($credentials)) {return $this->response()->errorUnauthorized();}// 检查用户信息$user = auth('api')->user();if ($user -> is_locked == 1) {return $this->response->errorForbidden('用户被锁定');}return $this->respondWithToken($token);}

3.2 效果

在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

laravel用户详情及封禁和启用用户api相关推荐

  1. 快手打击低俗直播 封禁一批高粉用户

    7月14日,快手社区官方账号"快手管理员"发布公告,宣告即日起开展"低俗直播内容"专项治理,公告公布封禁用户名单,其中不乏五六百万粉丝的高粉账号. 此次专项活动 ...

  2. 网盘用户分享独播剧链接 百度未及时封禁一审被判赔偿百万余元

    [TechWeb]12月22日消息,据海淀法院官方微信发布的消息,近日,海淀法院宣判了原告优酷网络技术(北京)有限公司诉被告北京百度网讯科技有限公司侵害作品信息网络传播权纠纷一案.法院判决百度公司赔偿 ...

  3. java实现踢下线用户_java中如何踢人下线?封禁某个账号后使其会话立即掉线!...

    需求场景 封禁账号是一个比较常见的业务需求,尤其是在论坛.社区类型的项目中,当出现了违规用户时我们需要将其账号立即封禁. 常规的设计思路是:在设计用户表时增加一个状态字段,例如:status,其值为1 ...

  4. java脚本封号_java中如何踢人下线?封禁某个账号后使其会话立即掉线!

    需求场景 封禁账号是一个比较常见的业务需求,尤其是在论坛.社区类型的项目中,当出现了违规用户时我们需要将其账号立即封禁. 常规的设计思路是:在设计用户表时增加一个状态字段,例如:status,其值为1 ...

  5. java怎么封禁玩家_java中如何踢人下线?封禁某个账号后使其会话立即掉线!

    需求场景 封禁账号是一个比较常见的业务需求,尤其是在论坛.社区类型的项目中,当出现了违规用户时我们需要将其账号立即封禁. 常规的设计思路是:在设计用户表时增加一个状态字段,例如:status,其值为1 ...

  6. java怎么实现七天封禁玩家_java中如何踢人下线?封禁某个账号后使其会话立即掉线!...

    需求场景 封禁账号是一个比较常见的业务需求,尤其是在论坛.社区类型的项目中,当出现了违规用户时我们需要将其账号立即封禁. 常规的设计思路是:在设计用户表时增加一个状态字段,例如:status,其值为1 ...

  7. python微信投票该用户被锁定、恢复时间_因投票微信账号出现异常被封禁7天的解封方法讲解...

    投票活动越来越多,有的玩家用自己的微信号去刷投票,然后被举报后封禁了7天,那么微信账号出现异常被封禁7天有没有解封的办法呢,其实是有的,因为这个不是违反微信的使用规则,可以通过在腾讯客服小程序上申诉, ...

  8. 谷歌封禁鸿蒙,就在刚刚!谷歌再下狠手彻底封禁华为,禁止用户自主安装谷歌服务...

    原标题:就在刚刚!谷歌再下狠手彻底封禁华为,禁止用户自主安装谷歌服务 对于华为,大家可以说已经非常熟悉了,无论是从5G还是智能手机,华为都给我们国产厂商树立了很好的一个楷模.别的暂且不论,仅从坚持研发 ...

  9. 微信朋友圈封禁利诱分享,没了裂变用户拉新还能怎么做?

    每次晚上你刷朋友圈的时候一定遇到过这样的情况,总会有几个好友分享"我在XX平台学习英语XX天",瞬间感觉全世界都是学霸,只有你刷完朋友圈之后又打开了抖音-- 原来,那些在英语 ap ...

最新文章

  1. java链式编程_Java 中的链式编程
  2. visual c 语言参考手册pdf,《Microsoft-Visual-C-6-0语言参考手册(三)》.pdf
  3. YYCache 源码学习(二):YYDiskCache
  4. java输出a-z_有1-26个数字和a-z字母,用Java多线程实现先输出2和数字再输出2个字
  5. mysql数据库邮箱什么类型_MySQL的数据类型介绍
  6. 作者:王倩(1983-),女,上海计算机软件技术开发中心工程师。
  7. 一个利用sql 语句来实现分页的存储过程
  8. 解决serv-u中文乱码的问题
  9. 第16 17章节-Python3.5-Django知识点整理 15
  10. Android JNI programming demo with Eclipse
  11. memcache的安装和使用
  12. coreldraw x4怎么会蓝屏_电脑蓝屏怎么办 七种方案轻松搞定【图文】
  13. js html title属性,HTML DOM title 属性
  14. python爬取微博内容_python如何抓取新浪微博的微博内容!
  15. 计算机无法进行磁盘碎片整理,无法运行磁盘碎片整理
  16. winpe linux系统安装win7,WINPE+LINUX+DOS 完美者U盘维护系统V8.6 及安装方法
  17. Linux用户与内核空间交互—procfs
  18. 2/8法则系列 | 你真的了解二八法则吗?
  19. 隐含狄利克雷分布(Latent Dirichlet Allocation)
  20. Ymir平台部署安装

热门文章

  1. Homebus(HBS)通信协议学习
  2. 【射雕英雄传】文本分析初步 第二弹【gensim word2vec lda roberta】
  3. C语言中%d等的意义
  4. matlab vvvs电机,MATLAB/Simulink在控制系统仿真与CAD应用(一)
  5. 8b/10b编码技术系列(一):Serdes、CDR、K码
  6. 解决go mod拉取etcd依赖包报错的问题
  7. lscat cnindex php,BJDCTF2020--web-复现
  8. BluetoothOpp共享文件(一)之蓝牙设备选择
  9. 锐捷RG-S3760交换机配置Telnet、SSH、DHCP示例
  10. 课程体系包括哪些要素_课程体系包括哪些要素