kohana视图根据用户登录与否进行更改


kohana view change according to user logged or not

我的问题很琐碎,因为我是新来的,甚至不知道该找什么

我正在使用kohana框架来构建我的网站。我已经学会了如何使用auth模块(或多或少(,并创建了login、logout"arhitarchitecture"。

当我的用户没有登录时,我会重定向到登录页面,当它是时,我使用一个视图来显示用户数据。

现在我正在尝试做一些类似页面菜单的事情,当用户未登录时,我可以看到"登录"按钮,但当用户登录时,可以看到"注销"按钮。我说清楚了吗?我想我不能重定向到任何地方,因为这是同一视图的一部分。那么如何根据用户状态确定视图内容?

我不是在寻找一个现成的代码(尽管这会让我大吃一惊(,而是一个关于寻找什么和阅读什么的方向。

对于Kohana 3.2,您可以通过调用来检查用户是否登录

Auth::instance()->logged_in();

集成的一个选项可能是构建一个基本控制器,在该控制器中,用户在before操作中被重定向或设置。这样,您总是将重定向放在一个位置,如果有有效的登录,则设置用户。

class Controller_Custom extends Controller {
    protected $user;
    public function before()
    {
        if ( ! Auth::instance()->logged_in()) {
            $this->request->redirect('url/login/page');
        }
        $this->user = Auth::instance()->get_user();
    }
}

对于Kohana 3.3,重定向请求有点改变,我相信。