使用php设置变量_SERVER [“PHP_AUTH_USER”]

时间:2011-08-12 05:02:31

标签: php zend-framework

我需要一些关于php_auth的帮助我已经使用了Php的HTTP身份验证,它似乎工作正常(当你去url它要求用户名和密码并且工作正常)但我需要做的是通过来自其他页面的身份验证的用户名和密码,并自动进行身份验证像使用另一个页面的php设置变量_SERVER [“PHP_AUTH_USER”]之类的东西。

  

编辑:我忘了提到我的问题是两个页面完全不同的应用程序和   都维持单独的会话。申请“A”和申请“B”   可能会也可能不会托管在同一个域中。

3 个答案:

答案 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'];

http://php.net/manual/en/features.sessions.php

答案 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