我的问题很琐碎,因为我是新来的,甚至不知道该找什么
我正在使用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,重定向请求有点改变,我相信。