我在 Cake 2.2.4 中实现了 ACL(仅限组级),如下所示:
Group.1可以访问控制器
Group.2有权访问控制器/招聘人员
Group.3可以访问控制者/求职者
这一切都很好,但问题是当Group.2中的某人试图访问控制器/求职者中的某些内容时,我能做的最好的事情就是向他们显示一条消息$this->Session->flash('auth')
,告诉他们他们无权访问。这在一定程度上是可以的,因为我对 Flash 消息有很多控制权,包括能够设置消息,甚至可以自定义通过元素生成的 HTML。
但是,该应用程序的用户抱怨说,仅仅刷新错误的同一页面是违反直觉的。这主要是因为在某些情况下,应用程序需要能够让一个用户同时在Group.2和Group.3中,因此 Flash 消息需要向用户传达如何“升级”他们的帐户以同时在这两个组中。
正因为如此,是否感觉立即重定向到带有“帐户更新”表单的新控制器操作会比带有表单链接的 Flash 消息或带有 (urgh) 嵌入表单的 Flash 消息更直观在里面(又是一次!)
问题是我想不出重定向用户的方法