anchor.diff:  -spec get_token(mochiweb_request()) -> auth_token() | undefined.
   get_token(Req) ->
       Req:get_header_value("menelaus-auth-token").
  -
  --spec extract_auth_user(mochiweb_request()) -> string() | undefined.
  -extract_auth_user(Req) ->
  -    case Req:get_header_value("authorization") of
  -        "Basic " ++ Value ->
  -            parse_user(base64:decode_to_string(Value));
  -        _ -> undefined
  -    end.
   
   -spec extract_auth(mochiweb_request()) -> {User :: string(), Passwd :: string()}
                                                 | {token, string()}
  
positive.code: -export([has_permission/2,
           get_accessible_buckets/2,
           extract_auth/1,
           extract_auth_user/1,
           extract_identity_from_cert/1,
           extract_ui_auth_token/1,
           uilogin/3,
  
negative.code:              string:substr(UserPasswordStr, I + 1)}
      end.
  
  -spec has_permission(rbac_permission(), mochiweb_request()) -> boolean().
  has_permission(Permission, Req) ->
      menelaus_roles:is_allowed(Permission, get_identity(Req)).
  