2016-07-13 89 views
0

我在控制器层之前有请求层来验证规则并从输入中获取正确的数据,但是放置检查权限的位置是否正确? 例如,如果用户想要更新其配置文件与API user?user_id=1与PUT方法 我想检查登录用户ID与user_id参数,如果我把它放在请求层我应该使用模型在请求层方面是否正确的编程结构?如果不是,它的位置在哪里?Laravel 5检查权限

回答

1

如果你把这种逻辑放在你的请求中,这将明显违反SRP。请求抽象层负责读取输入数据并以可读形式将其序列化。

控制器有责任让用户的输入改变模型层的状态,有时还会改变相关的视图层。所以控制器不能验证用户的输入。

因此,您的验证将存在于模型层。这些层负责域逻辑,并且是所有相关验证都发生的地方。

我建议你阅读两遍this的文章。也试着更多SOLID并开始实施像dependency injection