Kohana3参考以前的控制器?

时间:2011-03-30 20:47:54

标签: php model-view-controller controller kohana kohana-3


在Kohana3中是否有一种方法可以引用之前的控制器/动作。

让我解释一下:
我有一个基本控制器,用于检查用户是否使用Auth模块登录系统 如果用户转到他不允许查看的页面,他将被重定向到登录屏幕。

现在我想(当他唱歌时)回到触发登录控制器的页面 我想将它作为URI段传递,但问题是控制器可以包含“/”字符。

示例:

  • 用户转到mysite.com/user/profile
  • 他被重定向到mysite.com/login(需要传递用户/个人资料
  • 成功登录后,用户将被重定向回mysite.com/user/profile

1 个答案:

答案 0 :(得分:2)

我通过不断更新未登录用户的会话值来实现此目的。

Session::instance()->set('redirect', Request::instance()->uri());

然后,在成功登录后,您可以像这样重定向:

Request::instance()->redirect(Session::instance()->get('redirect', URL::base());

我没有测试过代码,但概念就在那里。如果未设置任何值,则继续重定向到主页。

请确保您小心并验证重定向网址。它不应该,但是因为我们正在处理用户数据,所以总会有一些不好的事情可能会回来。您想要的最后一件事是在您登录后重定向到病毒感染的网站。