8.3. 权限系统

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

权限系统

现在的应用存在两个巨大的安全隐患:

  1. 未登录用户可以访问 editupdate 动作;
  2. 登录用户可以更新其它用户的个人信息;

接下来让我们针对这两个安全隐患进行修复。

必须先登录

Laravel 中间件 (Middleware) 为我们提供了一种非常棒的过滤机制来过滤进入应用的 HTTP 请求,例如,当我们使用 Auth 中间件来验证用户的身份时,如果用户未通过身份验证,则 Auth 中间件会把用户重定向到登录页面。如果用户通过了身份验证,则 Auth 中间件会通过此请求并接着往下执行。Laravel 框架默认为我们内置了一些中间件,例如身份验证、CSRF 保护等。所有的中间件文件都被放在项目的 app/Http/Middleware 文件夹中。

接下来让我们使用 Laravel 提供身份验证(Auth)中间件来过滤未登录用户的 edit, update 动作。

app/Http/Controllers/UsersController.php

<?php

namespace App\Http\Controllers;
.
.
.
cl...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
贡献者:1
讨论数量: 4

赖皮小鳄鱼
如何使用 authorize 用户未通过授权如何友好提示?
7 个点赞 | 16 个回复 | 问答 | 课程版本 5.5
Mr_Guo
菜鸟请教一条 sql 急急急 谢谢各位大佬了?
2 个点赞 | 15 个回复 | 问答 | 课程版本 5.5
Moonshadow2333
8.0版本 报错未定义\Gate::guessPolicyNamesUsing()
2 个点赞 | 12 个回复 | 问答 | 课程版本 8.x