2015-11-16 46 views
0

我是F3新手,刚刚实现了基于表单的登录系统(使用Auth插件)。它的工作原理,但我不是,登录校验是这样的:如何在Fat-Free Framework中显示自定义401页面?

if (!$f3->get('SESSION.user')) $f3->reroute('/login'); 

我指的是,这样做,这似乎更正确的例子:

if (!$f3->get('SESSION.user')) $f3->error(401); 

然而,这401错误显示一个简单的错误页面。我希望它发回登录表单(/login),并附上错误消息“您必须先登录”,我希望此响应为401而不是403200

我是否期待这种行为或是401仅适用于HTTP基本身份验证而不是基于自定义表单的身份验证?

回答

3

您可以使用ONERROR钩子自定义错误响应。发布问题和阅读后不久http://stackoverflow.com/questions/

$f3->ONERROR=function($f3) { 
    if ($f3->get('ERROR.code')==401) { 
    // custom behaviour on 401 
    echo \Template::instance()->render('error-401.htm'); 
    } else 
    // default behaviour otherwise 
    return FALSE; 
}; 
<!-- error-401.htm --> 
<h1>This page requires authorization</h1> 
<a href="/login?path={{ @PATH }}">Click here to sign in</a> 
+0

是啊,我做了同样的事情:

你的情况

所以,你可以做这样的事情19763414 /不含脂肪的框架-F3-自定义404页,和其他-错误?RQ = 1 – aalaap

相关问题