2014-12-03 22 views
1

我有以下功能來檢查授權標頭。如何檢索卡薩布蘭卡REST API中的授權標頭

bool is_authorized(http_request request) 
{ 
    bool isAuthorized = false; 
    int bitmask; 
    int maskResult; 
    ApplicationAuthorization returned_auth; 
    ApplicationAuthorizations authorizations; 
    char authHeader[255]; 

    if (!request.headers().has(header_names::authorization)) return false; 



    returned_auth = authorizations.GetAuthorization(to_string_t("token {368EB89B-8A5E-5CF3-07AB-C16961D1A392}")); 

    bitmask   = 1 << DATAENGINE; 
    maskResult  = (returned_auth.GetApplicationId() & bitmask); 

    isAuthorized  = maskResult; 

    return isAuthorized; 
} 

在我已經放在一個臨時令牌只是用於測試,雖然我可以看到如何檢查Authorization頭出現的時刻 - 目前尚不清楚如何檢索頭的值。

任何人都知道如何使用卡薩布蘭卡REST API,你可以檢索標題。

回答

1

通過調用請求對象的headers()函數可以使用頭文件。以下代碼將授權頭置於authHeader局部變量中。

string_t authHeader; 

if (!request.headers().has(header_names::authorization)) return false; 

headers = request.headers(); 
authHeader = headers[header_names::authorization]; 
相關問題