在我的数据模型中,我有一个字段应该只能由管理员进行编辑。普通用户可以编辑模型中的记录并查看此特定字段,但他们不应该能够编辑它。是否有一种简单/清晰的方法来实现这一点?我猜需要创建额外的admin_edit控制器操作,但如何在控制器中“锁定”数据字段是最好的方式呢?
并不需要创建一个新的控制器操作,但您可能决定这样做。请注意,您仍然可以使用相同的视图,只需使用$this->render("edit")
即可查看:http://book.cakephp.org/view/428/render
我认为你应该:
根据您的设置,这可以轻松地作为模型中的验证方法来处理。在模型中编写自定义函数以检查用户是否具有权限。
您还可以在模型中使用beforeSave()来完成此操作。如果该字段存在但用户没有权限,则将其删除。
你可以在编辑视图中简单地检查管理员角色
if (hasRoleAdmin) {
echo $this->Form->input(...);
}