2010-06-02 127 views
0

有人可以指出我在正確的方向使用api使用基本的http身份驗證嗎?Symfony基本API Http身份驗證

我正在用symfony創建一個restful api,但想要用戶登錄才能獲取某些數據。我還想在驗證過程中依賴用戶名中的許多方法來獲取一些數據(使用憑據的用戶名來獲取所有用戶的朋友)

謝謝!

回答

1

事情是這樣的:

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(); 
} 

的用戶名被保存在$_SERVER['PHP_AUTH_USER']

+1

這對Symfony2配置也是可能的。在http://symfony.com/doc/current/book/security.html上搜索「http_basic」和「stateless」。我不確定Symfony2可以實現這種基於配置的方法。 – 2012-04-23 22:55:56