【发布时间】:2016-09-08 03:23:21
【问题描述】:
我今天对我的网站安全性以及为确保网站安全而编写的一些额外代码感到有些困惑。以下是应用安全性的 2 个位置。
在 Route Config 中,为了保护路由,我使用了 Middleware 来检查用户角色。
Route::group(['middleware' => ['web', 'SuperAdmin', 'auth']], function () {
Route::get('/Create-Department', 'DepartmentController@CreateDepartment');
});
我提到了 2 个Middlewares。
Auth Middleware:这是给authentication的。SuperAdmin Middleware:这是给Authorization的。
第二个位置是 Request 类。这是代码。在授权方法中,再次检查与路线中已经完成的相同的事情
class DepartmentRequest extends Request
{
public function authorize()
{
if(\Auth::user() == null) {
return false;
}
if(\Auth::user()->isSuperAdmin()) {
return true;
}
return false;
}
public function rules()
{
return [
'Department' => 'required',
];
}
}
问题:我应该删除 Request 类中的检查吗?这是保护请求的不需要的验证吗?由于 route.config 已经在完成这项工作。
授权方法有什么用?我的意思是,我正在使用 Request 类来验证表单输入。我应该总是从授权方法返回 true 吗?
【问题讨论】:
标签: php laravel laravel-5 laravel-5.2