首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查对象的权限的最佳位置在哪里?

检查对象的权限的最佳位置在哪里?
EN

Stack Overflow用户
提问于 2015-04-04 14:05:56
回答 2查看 58关注 0票数 1

我正在使用Laravel作为我的应用程序,我想问一下哪里是检查对象的权限的最佳地点。

每个模型都有checkPermissions()方法。

因此,如果用户请求更改模型,客户端路由器将调用控制器中的方法updateClient()。我应该这样做吗:

代码语言:javascript
复制
$client = Client::find(Input::get('id'));
$client->checkPermissions();

还是应该创建一个新的方法来获取客户端并检查其中的权限?:

代码语言:javascript
复制
$client = Client::getClientById($id);

其中getClientById()是在客户端模型上定义的方法,它检查权限.

你还能描述一下你为什么选择这样或那样的解决方案吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-05 04:06:02

没有一个“最好的地方”。这取决于您的应用程序。

但现实中有两种选择。

  1. 在过滤器里。这样,您就可以在请求到达控制器之前对其进行筛选,并确保它们能够访问正在尝试访问的记录。
  2. 在控制器中,使用前面给出的示例。

在模型内部进行auth检查并不是一个好主意--模型只应该集中于获取数据,而不是进行auth。

票数 0
EN

Stack Overflow用户

发布于 2015-04-05 04:27:39

您可以使用模板步骤(检查权限,然后从控制器内部访问数据)定义访问机制,..I同意w/ @转换,即模型不应该知道权限等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29447342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档