Php Laravel:如何保护资源不被其他用户访问?
我想知道如何使用Laravel保护资源不被其他用户访问 例如,如果我有这种情况:Php Laravel:如何保护资源不被其他用户访问?,php,laravel,security,authentication,authorization,Php,Laravel,Security,Authentication,Authorization,我想知道如何使用Laravel保护资源不被其他用户访问 例如,如果我有这种情况: 用户1具有id为1的资源 用户2拥有id为2的资源 如何保护用户1对资源2的访问 例如,通过此URL访问要编辑的资源: Laravel有这样做的功能吗?还是我应该手动检查每个控制器方法中的所有权 提前感谢。您可以为此创建: public function update(User $user, Resource $resource) { return $user->id == $resource-
- 用户1具有id为1的资源
- 用户2拥有id为2的资源
public function update(User $user, Resource $resource)
{
return $user->id == $resource->user_id; //for example
}
然后,您可以将其作为中间件添加到编辑路由:
Route::get('resource/{resource}/edit', ResourceController@edit)->middleware('can:update,resource');
Ps:这只是文档中的一个例子,有很多有用的东西可以帮助您我应该手动检查每个控制器方法中的所有权吗?并不是在每种方法中,您都会对一组URL或控制器操作使用中间件。请尝试查看是的!谢谢你,马拉博克