2012-05-04 8 views
3

を使用して安らかなAPI認証のためのヘッダーを設定する方法、認証のためのヘッダ情報を設定する方法Yiiの例から、私はこのコードを持っているRESTclientアドオンのFirefox

private function _checkAuth() 
{ 
    // Check if we have the USERNAME and PASSWORD HTTP headers set? 
    if(!(isset($_SERVER['HTTP_X_USERNAME']) and isset($_SERVER['HTTP_X_PASSWORD']))) { 
     // Error: Unauthorized 

     $this->_sendResponse(401); 
    } 
    $username = $_SERVER['HTTP_X_USERNAME']; 
    $password = $_SERVER['HTTP_X_PASSWORD']; 
    // Find the user 
    $user=User::model()->find('LOWER(username)=?',array(strtolower($username))); 
    $this->_sendResponse('200','$username'); 
    if($user===null) { 
     // Error: Unauthorized 
     $this->_sendResponse(401, 'Error: User Name is invalid'); 
    } 

    else if(!$user->validatePassword($password)) { 
     // Error: Unauthorized 
     $this->_sendResponse(401, 'Error: User Password is invalid'); 
    } 
} 

。 リクエストにHTTP_X_USERNAMEとHTTP_X_PASSWORDを設定する方法。

RESTClientアドオンの名前、値、本文は? ありがとうございました

答えて

4

私はあなたの質問(this post in yii forumと同じ)がRESTClientアドオンに関係すると思います。 RESTClientアドオンであなたのヘッダーを設定するには:

  • リスト項目
  • メニュー 'ヘッダ'
  • 'カスタムヘッダー'
  • '名前':X_PASSWORD
  • ' 'のヘッダー' 機能を使用します値 ':emo

また、X_USERNAMEと同じです。

HTH、

JM。

6

こんにちは私はこの問題を次のサーバーサイドコードで解決しました。クライアント側で既に行っているようにHTTPリクエストヘッダーを設定してください。

private function _checkAuth() 
    { 
     // Check if we have the USERNAME and PASSWORD HTTP headers set? 

     $headers = apache_request_headers(); 

     if(!(isset($headers['X_'.self::APPLICATION_ID.'_USERNAME']) and isset($headers['X_'.self::APPLICATION_ID.'_PASSWORD']))) { 
      // Error: Unauthorized 
      $this->_sendResponse(401); 
     } 

     $username = $headers['X_'.self::APPLICATION_ID.'_USERNAME']; 
     $password = $headers['X_'.self::APPLICATION_ID.'_PASSWORD']; 
} 
関連する問題