我有以下函数来检查授权头。
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;
}目前,我只是为了测试而放置了一个临时令牌,虽然我可以看到如何检查授权头是否存在,但还不清楚如何检索该标头的值。
任何人都知道如何使用Casablanca来检索标头。
发布于 2015-01-10 17:51:48
通过调用请求对象的headers()函数,可以获得标头。下面的代码将授权头放在authHeader局部变量中。
string_t authHeader;
if (!request.headers().has(header_names::authorization)) return false;
headers = request.headers();
authHeader = headers[header_names::authorization];https://stackoverflow.com/questions/27282105
复制相似问题