阅读(4012)
赞(8)
Laravel 8 通过控制器辅助函数
2021-06-29 16:33:53 更新
除了为 User
模型提供的有用方法之外,Laravel 还为任何扩展 AppHttpControllersController
基类的控制器提供了一个有用的 authorize
方法。 与 can
方法一样,此方法接受您要授权的操作的名称和相关模型。 如果操作未被授权,authorize
方法将抛出一个 IlluminateAuthAccessAuthorizationException
,默认的 Laravel 异常处理程序将转换为具有 403
状态代码的 HTTP 响应:
<?php
namespace AppHttpControllers;
use AppHttpControllersController;
use AppModelsPost;
use IlluminateHttpRequest;
class PostController extends Controller
{
/**
* 更新指定博客帖子
*
* @param Request $request
* @param Post $post
* @return Response
* @throws IlluminateAuthAccessAuthorizationException
*/
public function update(Request $request, Post $post)
{
$this->authorize('update', $post);
// The current user can update the blog post...
}
}