Cakephp保存数据,检查是否属于authed用户

时间:2013-03-25 02:58:32

标签: cakephp authentication cakephp-2.0 cakephp-appmodel

它的外观如下:

网址:/Category/Edit/(category.id)

控制器:

从类别加载信息并将其放入编辑表单中 - >提交表格 &安培;那么你有:

$这 - >类别 - > ID = $ ID;

$这 - >类别 - >保存($这 - >请求 - >数据);

因为它从url获取id,所以很容易将其更改为属于另一个用户的id 我如何确定它是否执行检查该类别是否属于authed用户。

已经建立了关联,用户 - >类别(一对多)

但是在写这篇文章时,我可能已经找到了一些东西,我可以在模型中使用beforeSave 如果你知道如何更好地做到这一点,请告诉我。

谢谢

1 个答案:

答案 0 :(得分:0)

一些事情:

  1. id应该在POSTed数据中,而不是在提交的URL中
  2. 使用安全组件帮助防止表单被篡改
  3. 您的网址示例应为'/categories/edit/(category.id)'
  4. 在模型中构建方法,而不是仅使用Controller中的默认save()。在您的方法中,您可以检查以确保该类别的所有者(基于user_id字段)与登录的Auth用户的所有者匹配。