2010-06-02 6 views
0

Est-ce que quelqu'un peut me diriger dans la bonne direction en ce qui concerne l'utilisation d'une authentification HTTP de base?API Symfony Basic Http Authentication

Je crée une api reposante avec symfony, mais je voudrais demander aux utilisateurs d'être connecté pour obtenir certaines données. Je voudrais aussi beaucoup de ces méthodes dépendent du nom d'utilisateur dans le processus d'authentification afin d'obtenir certaines des données (en utilisant le nom d'utilisateur des informations d'identification pour obtenir tous les utilisateurs d'un utilisateur)

Merci!

Répondre

1

Quelque chose comme ceci:

function send401() { 
    $realm = "Credentials for site xxx"; 
    header("HTTP/1.0 401 Authorization Required") 
    header('WWW-Authenticate: Basic realm="'.$realm.'"'); 
    die(); 
} 


if (!array_key_exists('PHP_AUTH_USER',$_SERVER) || 
     !array_key_exists('PHP_AUTH_PW',$_SERVER)) { 
    send401(); 
} 
else { 
    $res = authenticate_user($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']); 
    if (!$res) 
     send401(); 
} 

Le nom d'utilisateur est stocké dans $_SERVER['PHP_AUTH_USER'].

+1

Ceci est également possible avec la configuration Symfony2. Recherchez 'http_basic' et' stateless' sur http://symfony.com/doc/current/book/security.html. Je ne suis pas sûr quand cette approche basée sur la configuration a été rendue possible avec Symfony2. –