我正在尝试使用离子/角度应用程序对Yii API(Yii版本1.1.15)进行身份验证,但无法在PHP页面中获取标头。
角度代码为:
$http({
headers: {'X_ASCCPE_USERNAME': username,'X_ASCCPE_PASSWORD': password},
url: 'http://example.com/index.php/',
params: {r: 'api/list',model: 'users',callback:'JSON_CALLBACK'}
})
PHP代码是:
$username = $_SERVER['HTTP_X_'.self::APPLICATION_ID.'_USERNAME'];
$password = $_SERVER['HTTP_X_'.self::APPLICATION_ID.'_PASSWORD'];
但用户名和密码未在 $_SERVER['HTTP_X_ASCCPE_USERNAME']
和
$_SERVER['HTTP_X_ASCCPE_PASSWORD']
.
我唯一看到这些的地方是HTTP_ACCESS_CONTROL_REQUEST_HEADERS==>accept, x_asccpe_password, x_asccpe_username
我如何将这些从角度($http)传递给PHP/Yii?
您将HTTP_
附加到标头。但这不是必需的。
将您的 php 代码更改为:
$username = $_SERVER['X_'.self::APPLICATION_ID.'_USERNAME'];
$password = $_SERVER['X_'.self::APPLICATION_ID.'_PASSWORD'];