【发布时间】:2019-11-27 19:46:05
【问题描述】:
我正在使用 laravel 进行一个项目。在我的项目中,有两种类型的用户,一种是管理员,另一种是普通用户。 btw 项目只提供 API,没有刀片视图。
我为任何使用 api 登录的用户或管理员提供一个令牌。并且应用程序将通过发送带有授权标头的令牌来识别用户或管理员,我检查令牌是否有效并且用户类型是管理员然后授予对该客户端的管理功能的访问权限。 这是我这部分的代码:
$admin = Auth::guard('admin-api')->user();
if ($admin) {
// allow to use admin features
}
else {
return response()->json(['error' => 'token is invalid'], 401);
}
我在 laravel 中阅读了一些关于在控制器类上应用限制的内容,并在那里编写了将这样的构造函数添加到控制器类中:
public function __construct() {
$this->middleware('admin-api');
}
还有一些类似的东西只是为了限制路线。 like this
但我只是想知道在项目只提供 API 时是否有必要向我的控制器类添加相同的构造函数?还是我这样做的方式是正确的?
【问题讨论】: