【发布时间】:2010-10-01 13:16:21
【问题描述】:
在我的数据模型中,我有一个只能由管理员编辑的字段。普通用户可以编辑模型中的记录并查看此特定字段,但他们应该无法编辑它。有没有一种简单/干净的方法来做到这一点?我想有必要创建一个额外的 admin_edit 控制器操作,但是在控制器中“锁定”数据字段的最佳方法是什么?
【问题讨论】:
标签: php cakephp cakephp-1.3
在我的数据模型中,我有一个只能由管理员编辑的字段。普通用户可以编辑模型中的记录并查看此特定字段,但他们应该无法编辑它。有没有一种简单/干净的方法来做到这一点?我想有必要创建一个额外的 admin_edit 控制器操作,但是在控制器中“锁定”数据字段的最佳方法是什么?
【问题讨论】:
标签: php cakephp cakephp-1.3
不必创建新的控制器动作,但您可以决定这样做。请注意,您仍然可以使用 $this->render("edit") 对其使用相同的视图,请参阅:http://book.cakephp.org/view/428/render
我认为你应该:
【讨论】:
根据您的设置,这可以作为模型中的验证方法轻松处理。在模型中编写自定义函数,检查用户是否有权限。
您也可以使用 beforeSave() 在模型中执行此操作。如果该字段存在并且他们没有权限,请将其删除。
【讨论】:
您可以在编辑视图中简单地检查管理员角色
if (hasRoleAdmin) {
echo $this->Form->input(...);
}
【讨论】: