首页 / PHP / php – Laravel授权()混淆
php – Laravel授权()混淆
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Laravel授权()混淆,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1385字,纯文字阅读大概需要2分钟。
内容图文
![php – Laravel授权()混淆](/upload/InfoBanner/zyjiaocheng/804/1ca7f0c8c2384030bb4241e98a6edfad.jpg)
我目前正在将一个项目从CodeIgniter迁移到Laravel5.
我在Laracasts中看到,您可以在调用控制器之前使用Request :: authorize()方法来授权访问,并返回true或false.
这将(我认为)是理想的解决方案,因为我可以在请求中包含权限检查,而不是通过权限检查和重定向/响应污染控制器.
唯一的问题是,当我从authorize()返回false时,它只是加载一个带有禁止写入的空白页,我在laravel.com上找不到任何关于如何模板化的文档(要么没有文档,要么我忽略了它)
我知道我可以编辑错误/ 404.blade.php中的404页面,但我无法弄清楚如何自定义403页面,我试图添加一个自定义的403.blade.php页面,其中没有得到显示. (https://mattstauffer.co/blog/laravel-5.0-custom-error-pages)
将这些权限检查放在请求中是个好主意吗?或者我错过了什么?
更新
我从authorize()运行了一个回溯,看起来它抛出了一个UnauthorizedException,它扩展了RuntimeException.我试过在routes.php文件中捕获它们,这两个都不起作用.
我也试图创建中间件,并从一个方法调用中间件,这也不起作用,因为中间件甚至根本没有被调用.
更新2
好吧,所以我发现我只能从构造函数中调用$this-> middleware(),而不是单个方法,这是进步,我猜.
解决方法:
我所做的是为Request抽象类添加一个forbiddenResponse()方法.您可以从该方法返回响应对象以呈现人类可读错误.
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\JsonResponse;
abstract class Request extends FormRequest {
public function forbiddenResponse()
{
return new JsonResponse('Unauthorized', 403);
// or return Response::make('Unauthorized', 403);
}
}
内容总结
以上是互联网集市为您收集整理的php – Laravel授权()混淆全部内容,希望文章能够帮你解决php – Laravel授权()混淆所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。