【发布时间】:2020-06-03 15:12:21
【问题描述】:
使用 PHP,我实现了基本身份验证,如下所示:
if ((isset($_SERVER['PHP_AUTH_USER']) && $_SERVER['PHP_AUTH_USER']=='') || (isset($_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_PW']=='')) {
header('WWW-Authenticate: Basic realm="Authentification"');
$UsrId = $objLDAP->authenticateUser();
die();
} elseif (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
$UsrId = $objLDAP->authenticateUser($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
}else{
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo '<script>window.location.reload();</script>';
//$UsrId = $objLDAP->authenticateUser();
//$smarty->display($templates['budWithoutAnyAccess']);
die();
}
if ($pUser){
//coding
}else{
header('HTTP/1.1 401 Authorization Required');
header('WWW-Authenticate: Basic realm="Access denied"');
$UsrId = $objLDAP->authenticateUser();
}
它会打开登录弹出窗口。
如果用户提供了错误的凭据,我可以在页面上显示错误消息,但在页面重新刷新时它也应该打开身份验证登录弹出窗口。
在取消时,我想显示消息并在刷新时,它应该打开身份验证登录弹出窗口。
我该怎么做?
谢谢你, 特鲁提
【问题讨论】:
-
您检查过the manual 中的示例并尝试过吗?
-
@MagnusEriksson 是的。我试过那个例子。点击登录按钮后,它不会打开登录弹出窗口。我希望它在页面重新刷新时打开弹出窗口。
-
@sumant,如果用户单击取消或提供错误凭据,我想打开登录弹出窗口。
-
但是你有比上面更多的代码,对吧?请告诉我们你有什么。仅从以上两个标头很难知道发生了什么。
标签: php authentication basic-authentication