2011-06-17 30 views
0

我有一个基于Kohana的网站,我想在一个函数中验证用户来自哪里。因此,如果他来自特定路线,我必须将他重定向到某个地方。检查Kohana中的引用路由后的重定向

有没有一种方法来验证Kohana 3.0中用户来自哪里(或者他来自哪里)的路线?

代码示例:

public function action_after_register(){ 

    if ($this->authlite->logged_in()) 
    { 
     $this->redirect('Home'); 
    } 
    // verify if he comes from a specific route and redirect him accordingly 
} 

回答

1

尝试用:

$ref = Request::$referrer; 

并获得路线裁判,你可以在3.0使用Request::process_uri($referrer_uri, $injected_routes)与Kohana的3.1,但没有。

可以在3.0手动添加:https://gist.github.com/1031396

注入的路线阵列是可选的,如果你有你想测试对路线的严格列表(跳过比较所有路由的开销)。

+0

我写$ ref = Request :: $ referrer;然后print_r($ ref)什么也没有显示。 – dana 2011-06-20 07:45:10

+0

比引用者是空的:)或者你的浏览器禁用了引用标头(firefox的web开发工具栏和类似的插件可以关闭它)或者你直接访问页面(在这种情况下没有引用者) – Kemo 2011-06-20 20:34:34