5.3.3.3 診断

成功した場合、この関数は0を返します。失敗した場合は、次の例に示すように-1を返します:

例5-8 HTTP基本認証の資格証明マッピングの擬似コード

int Credmap_HTTP_Basic(char * domain, char * realm, char * t_uid, char * t_gid, Cred_UserPass * credential)
{
       // Use domain and realm to determine scope
       credentialList = FindAllCredentialForDomainAndRealm(domain, realm);
       
       if ( error happens )
              return -1;

       // find appropriate credential in the scope

       foreach cred in credentialList {
              if (t_uid and t_gid match) {
                     *credential = cred;
                     return 0;
              }
       }
       if ( not found and no default credential) {
              return -1;
       }

       *credential = default_credential;
       return 0;
}

ヒント:

資格証明はドメインとレルムをキーまたは索引としてデータベース内に格納できます。