CakePHP:根据登录用户过滤内容

CakePHP:根据登录用户过滤内容,php,cakephp,authentication,filter,Php,Cakephp,Authentication,Filter,我正在构建一个带有用户身份验证的小型CakePHP应用程序 按用户过滤内容以便用户只看到自己的内容的最佳实践是什么 我看过这篇文章,但它似乎不是一个有效的选择,因为它意味着每个动作都要添加一个条件 是否建议在AppModel中添加一个beforeFilter,它将根据经过身份验证的用户ID进行过滤,还是Cake有一种内置的方法来进行过滤?没有内置的方法来进行过滤,而且有许多解决方案都可以工作 最好的方法取决于你的情况。在某些情况下,在每个动作的基础上做这件事,比如你链接到的问题,将是最好的。在

我正在构建一个带有用户身份验证的小型CakePHP应用程序

按用户过滤内容以便用户只看到自己的内容的最佳实践是什么

我看过这篇文章,但它似乎不是一个有效的选择,因为它意味着每个动作都要添加一个条件


是否建议在AppModel中添加一个
beforeFilter
,它将根据经过身份验证的用户ID进行过滤,还是Cake有一种内置的方法来进行过滤?

没有内置的方法来进行过滤,而且有许多解决方案都可以工作

最好的方法取决于你的情况。在某些情况下,在每个动作的基础上做这件事,比如你链接到的问题,将是最好的。在其他情况下,更通用的解决方案会更好,例如为您的模型甚至为您的AppModel编写一个beforeFind方法

哪种解决方案最好取决于您的具体要求。例如,如果用户可以绝对地、始终地、永远地查看自己的内容,并且如果每个表都通过用户id字段链接到一个用户,那么一个更通用的解决方案将起作用


但是,如果更多样化,并且只有某些控制器的某些操作需要根据当前登录用户进行限制,则需要一种不太通用的方法(例如您链接到的方法)。

谢谢。您能给出一个模型上beforeFind()过滤器的示例吗?(例如:云存储解决方案,用户只能访问自己的文件)如果不知道应用程序的细节,我就不能给你举个例子,对不起。不过,doco就在这里: