【问题标题】:cakephp security component HABTM (multiselect)cakephp 安全组件 HABTM(多选)
【发布时间】:2014-07-11 17:04:34
【问题描述】:

我正在使用带有安全组件的 Cakephp v 2.5.1。我有一个配置文件表单,其中我在用户和项目之间建立了 HABTM 关系,用户可以选择 0-N 个项目(基本上是多选)。

发帖时,帖子被黑了。

以下是来自 FormHelper 的字段(即 $hashParts):

数组 ( [0] => /用户/个人资料 [1] => a:8:{i:0;s:15:"Project.Project";i:1;s:10:"User.alias";i:2;s:16:"User.division_id ";i:3;s:17:"User.geography_id";i:4;s:13:"User.lastname";i:5;s:13:"User.level_id";s:7:"用户.id";s:2:"38";s:13:"User.username";s:26:"bobking256@prophecyinc.com";} [2] => 当前密码|新密码|新密码2 [3] => Ge08djl2390IOJjl298dj4MNbhzapo8912eadsSTBVD )

以下是发布后安全组件 ($hashParts) 中的字段: 大批 ( [0] => /用户/个人资料 [1] => a:9:{i:0;s:15:"Project.Project";i:1;s:10:"User.alias";i:2;s:16:"User.division_id ";i:3;s:17:"User.geography_id";i:4;s:13:"User.lastname";i:5;s:13:"User.level_id";i:6;s: 11:"多选";s:7:"User.id";s:2:"38";s:13:"User.username";s:26:"bobking256@prophecyinc.com";} [2] => 当前密码|新密码|新密码2 [3] => Ge08djl2390IOJjl298dj4MNbhzapo8912eadsSTBVD )

查看数组元素 [1],帖子中似乎有一个额外的属性(“i:6;s:11;multiselect”;)

我已尝试使用以下方法将其从验证中删除:

$this->Form->unlockField('Project.Project')

但它不起作用。它从上面的两个数组元素 [1] 中删除了“Project.Project”,但没有删除“多选”(它变成 i:5;s:11;multiselect)

如何解决此问题或至少从验证中删除此问题?

谢谢。

【问题讨论】:

    标签: security cakephp components has-and-belongs-to-many


    【解决方案1】:

    我从 cakephp IRC 那里得到了很大的帮助。由于我使用的是 twitter 引导程序,因此我将 'class'=>'multiselect' 包含在我的 $this->Form->input(...); 中,解决此问题的解决方案是使用 $this->Form->unlockField('multiselect'); 解锁此字段,然后我的验证后问题就消失了。

    希望这对未来的其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      相关资源
      最近更新 更多