0

我是 cakephp 新手,我在 cakephp 2.3.5 中做一个 web 应用程序,我的应用程序有几个控制器,每个控制器都有相应的模型。我有具有各自视图的操作,以及其他操作根本没有视图功能的其他操作。

我有两个问题:

  • 一种,这样的动作是删除一个实体,有没有什么方法可以让用户不通过浏览器输入 URL 来执行它的动作(例如 ... / estudiantes/delete/6)?,这意味着只有动作可以启动网页浏览。

  • 二,我有几个用户页面属于不同的角色,当然会有特定配置文件无法使用的动作和其他人,为此我在每个控制器上使用“IsAuthorized”功能,控制每个动作并看到用户及其使用会话所扮演的角色,对吗?

4

1 回答 1

1

第一个问题:是的,只需将删除操作更改为受保护或私有,并且只有控制器中的其他操作可以访问它。或者,如果您尝试将它与 ajax 或 post 一起使用,请将其添加到删除操作中

public function delete($id=null) {
   if ($this->request->is('ajax') || $this->request->is('post'))
        //do delete
   else
       //redirect or throw error or sad face
}

第二个问题:是的。
或者您可以使用插件,例如 ACL。

于 2013-06-07T17:03:20.067 回答