Laravel 授权与请求响应机制详解
1. Laravel 授权机制
在 Laravel 中,授权机制是保障应用安全的重要组成部分,它允许开发者定义特定的权限,以控制用户对不同资源的访问。
1.1 路由授权
可以在路由中使用中间件来进行授权检查。例如:
Route::get('people/create', function () {
// Create person...
})->middleware('can:create-person');
Route::get('people/{person}/edit', function () {
// Create person...
})->middleware('can:create,person');
这里的 {person}
参数会作为额外参数传递给授权方法。
1.2 控制器授权
Laravel 的 App\Http\Controllers\Controller
类引入了 AuthorizesRequests
特性,提供了三个授权方法:
- authorize()
:接受一个权限键和一个对象(或对象数组)作为参数,如果授权失败,会以 403(未授权)状态码退出应用。例如:
// 原代码
public function show($c