我需要一些关于php_auth的帮助我已经使用了Php的HTTP身份验证,它似乎工作正常(当你去url它要求用户名和密码并且工作正常)但我需要做的是通过来自其他页面的身份验证的用户名和密码,并自动进行身份验证像使用另一个页面的php设置变量_SERVER [“PHP_AUTH_USER”]之类的东西。
编辑:我忘了提到我的问题是两个页面完全不同的应用程序和 都维持单独的会话。申请“A”和申请“B” 可能会也可能不会托管在同一个域中。
答案 0 :(得分:1)
我使用了zend函数setAuth(用户名,密码);完成工作。
$client = new Zend_Http_Client();
$client->setAuth($username, $password);
$response = $client->request('POST');
setAuth函数的工作原理是它将身份验证参数嵌入/编码为URL的标题
// Set HTTP authentication if needed
if (is_array($this->auth)) {
$auth = self::encodeAuthHeader($this->auth['user'], $this->auth['password'], $this->auth['type']);
$headers[] = "Authorization: {$auth}";
}
答案 1 :(得分:0)
您可以在会话请求之间传递有关您所需用户的任何数据。
//on one page
session_start();
$_SESSION['logged_in_user'] = $_SERVER['PHP_AUTH_USER'];
//on the 'another page'
session_start();
$user = $_SESSION['logged_in_user'];
答案 2 :(得分:0)
你应该使用$ _SESSION。 $ _SESSION意味着从页面传递变量。
当您需要访问会话变量时,在每个脚本上:
session_start();
$_SESSION['user'] = $_SERVER['PHP_AUTH_USER'];
另一个剧本:
session_start();
$user = $_SESSION['user'];
看看这里:http://www.tizag.com/phpT/phpsessions.php以及那里的php参考:http://www.php.net/manual/en/session.examples.basic.php