0

我在 Cake 2.2.4 中实现了 ACL(仅限组级),如下所示:

Group.1可以访问控制器

Group.2有权访问控制器/招聘人员

Group.3可以访问控制者/求职者

这一切都很好,但问题是当Group.2中的某人试图访问控制器/求职者中的某些内容时,我能做的最好的事情就是向他们显示一条消息$this->Session->flash('auth'),告诉他们他们无权访问。这在一定程度上是可以的,因为我对 Flash 消息有很多控制权,包括能够设置消息,甚至可以自定义通过元素生成的 HTML。

但是,该应用程序的用户抱怨说,仅仅刷新错误的同一页面是违反直觉的。这主要是因为在某些情况下,应用程序需要能够让一个用户同时在Group.2Group.3中,因此 Flash 消息需要向用户传达如何“升级”他们的帐户以同时在这两个组中。

正因为如此,是否感觉立即重定向到带有“帐户更新”表单的新控制器操作会比带有表单链接的 Flash 消息或带有 (urgh) 嵌入表单的 Flash 消息更直观在里面(又是一次!)

问题是我想不出重定向用户的方法

4

1 回答 1

2

这已经在 CakePHP 2.3 中解决了,增加了AuthComponent::$unauthorizedRedirect

更多信息:http ://book.cakephp.org/2.0/en/appendices/2-3-migration-guide.html#authcomponent

于 2013-04-01T07:49:39.813 回答