在我的数据模型中,我有一个应该只能管理员编辑的字段。普通用户可以编辑模型中的记录并查看此特定字段,但他们无法对其进行编辑。这样做有简单/干净的方法吗?我想有必要创建一个额外的admin_edit控制器动作,但是什么是“锁定”控制器中的数据字段的最佳方法?
答案 0 :(得分:2)
没有必要创建新的控制器操作,但您可以这样决定。请注意,您仍然可以使用$this->render("edit")
使用相同的视图,请参阅:http://book.cakephp.org/view/428/render
我认为你应该:
答案 1 :(得分:1)
根据您的设置,这可以很容易地作为模型中的验证方法处理。在模型中编写自定义函数以检查用户是否具有权限。
您也可以使用beforeSave()在模型中执行此操作。如果该字段在那里且他们没有权限,请将其删除。
答案 2 :(得分:0)
您可以在编辑视图中模拟检查管理员角色
if (hasRoleAdmin) {
echo $this->Form->input(...);
}