用$http和php / Yii在角度/离子中进行身份验证


Authenticating in angular / ionic with $http and php / Yii

我正在尝试使用离子/角度应用程序对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'];