我正在使用Laravel作为我的应用程序,我想问一下哪里是检查对象的权限的最佳地点。
每个模型都有checkPermissions()方法。
因此,如果用户请求更改模型,客户端路由器将调用控制器中的方法updateClient()。我应该这样做吗:
$client = Client::find(Input::get('id'));
$client->checkPermissions();还是应该创建一个新的方法来获取客户端并检查其中的权限?:
$client = Client::getClientById($id);其中getClientById()是在客户端模型上定义的方法,它检查权限.
你还能描述一下你为什么选择这样或那样的解决方案吗?谢谢
发布于 2015-04-05 04:06:02
没有一个“最好的地方”。这取决于您的应用程序。
但现实中有两种选择。
在模型内部进行auth检查并不是一个好主意--模型只应该集中于获取数据,而不是进行auth。
发布于 2015-04-05 04:27:39
您可以使用模板步骤(检查权限,然后从控制器内部访问数据)定义访问机制,..I同意w/ @转换,即模型不应该知道权限等等。
https://stackoverflow.com/questions/29447342
复制相似问题