php authorize,php – Laravel中Request类中authorize方法的目的是什么?

是的,您应该删除Request类中的检查:如果您已经在中间件中进行了检查,则不应重复这些检查

当你指定这个:

Route::group(['middleware' => ['web', 'SuperAdmin']], function () {

Route::get('/Create-Department', 'DepartmentController@CreateDepartment');

});

你告诉laravel,当它找到/ Create-Department路由时,它应该在请求被发送到DepartmentController之前触发这些中间件的句柄方法:[‘web’,’SuperAdmin’]

因此,如果您检查中间件中的身份验证和授权,当请求到达您的控制器时,您确定它已满足它经历的所有中间件

关于授权方法的目的:授权方法通常用于根据您要尊重的某些策略授权实际请求.例如,如果您有编辑Post模型的请求,则在authorize方法中,您将检查尝试编辑帖子的特定用户是否具有执行此操作的权限(例如,作为帖子的作者)

编辑

即使您想使用中间件进行授权,也没关系.无论如何,通常表单请求中的授权方法用于对特定请求进行授权检查.

例如,从docs检查此示例:

public function authorize()

{

$postId = $this->route('post');

//here the authorization to edit the post is checked through the Gate facade

return Gate::allows('update', Post::findOrFail($postId));

}

总之:如果您在中间件中执行身份验证和授权任务,则无需在授权方法中重复这些任务,但请记住,该方法的本机用途是授权特定请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值