グループのセキュリティ情報が含まれている、グループ情報構造体を取得します。EssGetGroupに似ていますが、ユーザー・ディレクトリの指定、またはGroupIDの一意のID属性を受け入れることができます。
構文
ESS_FUNC_M EssGetGroupInfoEx ( hCtx , GroupId , bisIdentity , ppGroupInfo );
パラメータ | データ型 | 説明 |
---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル(入力)。 |
GroupId |
ESS_STR_T |
グループ名(入力)。groupname@providerまたは一意のID属性として指定できます。 |
bIsIdentity |
ESS_BOOL_T |
入力。GroupIdが名前かIDかを示します。TRUEの場合、GroupIdはIDです。 |
ppGroupInfo |
ESS_PGROUPINFOID_T |
割り当てられたグループ情報構造体を受け取るポインタのアドレス(出力)。グループ・リスト構造体には、ユーザー・ディレクトリおよび一意のID属性を含められます。 |
備考
ppGroupInfoに対して割り当てられたメモリーは、EssFreeを使用して解放する必要があります。
戻り値
正常終了の場合、グループ情報構造体がppGroupInfoに戻されます。
アクセス
この関数を使用するには、ログインしたサーバーに対して、呼出し元がユーザーの作成/削除権限(ESS_PRIV_USERCREATE)を持っている必要があります。
例
void DisplayGroupsInfoEx(ESS_GROUPINFOID_T groupInfo) { ESS_STS_T sts = ESS_STS_NOERR; ESS_BOOL_T isDefined = ESS_TRUE; printf("\tUser Name: %s\n", groupInfo.Name); printf("\tProvider Name: %s\n", groupInfo.ProviderName); printf("\tIdentity: %s\n", groupInfo.connparam); printf("\tDescription: %s\n", groupInfo.Description); printf("\tEMail Identification: %s\n", groupInfo.EMailID); if (groupInfo.LockedOut) printf("\tLocked out: Yes\n"); else printf("\tLocked out: No\n"); if (groupInfo.PwdChgNow) printf("\tChange the password now: Yes\n"); else printf("\tChange the password now: No\n"); printf("\tPassword: %s\n", groupInfo.Password); printf("\tApplication: %s\n", groupInfo.AppName); printf("\tDatabase: %s\n", groupInfo.DbName); if (groupInfo.Login) printf("\tLogged in: Yes\n"); else printf("\tLogged in: No\n"); switch(groupInfo.Access) { case ESS_ACCESS_ADMIN: printf("\tAccess: %d - ESS_ACCESS_ADMIN\n", groupInfo.Access); break; case ESS_ACCESS_APPALL: printf("\tAccess: %d - ESS_ACCESS_APPALL\n", groupInfo.Access); break; case ESS_ACCESS_DBALL: printf("\tAccess: %d - ESS_ACCESS_DBALL\n", groupInfo.Access); break; case ESS_ACCESS_APPCREATE: printf("\tAccess: %d - ESS_ACCESS_DBALL\n", groupInfo.Access); break; case ESS_ACCESS_APPMANAGE: printf("\tAccess: %d - ESS_ACCESS_APPMANAGE\n", groupInfo.Access); break; case ESS_ACCESS_DBCREATE: printf("\tAccess: %d - ESS_ACCESS_DBCREATE\n", groupInfo.Access); break; case ESS_ACCESS_DBMANAGE: printf("\tAccess: %d - ESS_ACCESS_DBMANAGE\n", groupInfo.Access); break; case ESS_ACCESS_CALC: printf("\tAccess: %d - ESS_ACCESS_CALC\n", groupInfo.Access); break; case ESS_ACCESS_WRITE: printf("\tAccess: %d - ESS_ACCESS_WRITE\n", groupInfo.Access); break; case ESS_ACCESS_READ: printf("\tAccess: %d - ESS_ACCESS_READ\n", groupInfo.Access); break; case ESS_PRIV_USERCREATE: printf("\tAccess: %d - ESS_PRIV_USERCREATE\n", groupInfo.Access); break; case ESS_PRIV_APPCREATE: printf("\tAccess: %d - ESS_PRIV_APPCREATE\n", groupInfo.Access); break; case ESS_PRIV_APPMANAGE: printf("\tAccess: %d - ESS_PRIV_APPMANAGE\n", groupInfo.Access); break; case ESS_PRIV_APPLOAD: printf("\tAccess: %d - ESS_PRIV_APPLOAD\n", groupInfo.Access); break; case ESS_PRIV_DBCREATE: printf("\tAccess: %d - ESS_PRIV_DBCREATE\n", groupInfo.Access); break; case ESS_PRIV_DBMANAGE: printf("\tAccess: %d - ESS_PRIV_DBMANAGE\n", groupInfo.Access); break; case ESS_PRIV_DBLOAD: printf("\tAccess: %d - ESS_PRIV_DBLOAD\n", groupInfo.Access); break; case ESS_PRIV_CALC: printf("\tAccess: %d - ESS_ACCESS_DBALL\n", groupInfo.Access); break; case ESS_PRIV_WRITE: printf("\tAccess: %d - ESS_PRIV_WRITE\n", groupInfo.Access); break; case ESS_PRIV_READ: printf("\tAccess: %d - ESS_PRIV_READ\n", groupInfo.Access); break; case ESS_PRIV_NONE: printf("\tAccess: %d - ESS_PRIV_NONE\n", groupInfo.Access); break; default: printf("\tAccess: Unknown\n"); } switch(groupInfo.MaxAccess) { case ESS_ACCESS_ADMIN: printf("\tMax Access: %d - ESS_ACCESS_ADMIN\n", groupInfo.MaxAccess); break; case ESS_ACCESS_APPALL: printf("\tMax Access: %d - ESS_ACCESS_APPALL\n", groupInfo.MaxAccess); break; case ESS_ACCESS_DBALL: printf("\tMax Access: %d - ESS_ACCESS_DBALL\n", groupInfo.MaxAccess); break; case ESS_ACCESS_APPCREATE: printf("\tMax Access: %d - ESS_ACCESS_DBALL\n", groupInfo.MaxAccess); break; case ESS_ACCESS_APPMANAGE: printf("\tMax Access: %d - ESS_ACCESS_APPMANAGE\n", groupInfo.MaxAccess); break; case ESS_ACCESS_DBCREATE: printf("\tMax Access: %d - ESS_ACCESS_DBCREATE\n", groupInfo.MaxAccess); break; case ESS_ACCESS_DBMANAGE: printf("\tMax Access: %d - ESS_ACCESS_DBMANAGE\n", groupInfo.MaxAccess); break; case ESS_ACCESS_CALC: printf("\tMax Access: %d - ESS_ACCESS_CALC\n", groupInfo.MaxAccess); break; case ESS_ACCESS_WRITE: printf("\tMax Access: %d - ESS_ACCESS_WRITE\n", groupInfo.MaxAccess); break; case ESS_ACCESS_READ: printf("\tMax Access: %d - ESS_ACCESS_READ\n", groupInfo.MaxAccess); break; case ESS_PRIV_USERCREATE: printf("\tMax Access: %d - ESS_PRIV_USERCREATE\n", groupInfo.MaxAccess); break; case ESS_PRIV_APPCREATE: printf("\tMax Access: %d - ESS_PRIV_APPCREATE\n", groupInfo.MaxAccess); break; case ESS_PRIV_APPMANAGE: printf("\tMax Access: %d - ESS_PRIV_APPMANAGE\n", groupInfo.MaxAccess); break; case ESS_PRIV_APPLOAD: printf("\tMax Access: %d - ESS_PRIV_APPLOAD\n", groupInfo.MaxAccess); break; case ESS_PRIV_DBCREATE: printf("\tMax Access: %d - ESS_PRIV_DBCREATE\n", groupInfo.MaxAccess); break; case ESS_PRIV_DBMANAGE: printf("\tMax Access: %d - ESS_PRIV_DBMANAGE\n", groupInfo.MaxAccess); break; case ESS_PRIV_DBLOAD: printf("\tMax Access: %d - ESS_PRIV_DBLOAD\n", groupInfo.MaxAccess); break; case ESS_PRIV_CALC: printf("\tMax Access: %d - ESS_ACCESS_DBALL\n", groupInfo.MaxAccess); break; case ESS_PRIV_WRITE: printf("\tMax Access: %d - ESS_PRIV_WRITE\n", groupInfo.MaxAccess); break; case ESS_PRIV_READ: printf("\tMax Access: %d - ESS_PRIV_READ\n", groupInfo.MaxAccess); break; case ESS_PRIV_NONE: printf("\tMax Access: %d - ESS_PRIV_NONE\n", groupInfo.MaxAccess); break; default: printf("\tMax Access: Unknown\n"); } printf("\tPassword Expiration in Dates: %d\n",groupInfo.Expiration); printf("\tFailed Login Attempts Since Then: %d\n", groupInfo.FailCount); printf("\tLogin ID: %d\n", groupInfo.LoginId); printf("\tProtocol: %s\n", groupInfo.protocol); printf("\tConnection Parameter: %s\n", groupInfo.connparam); printf( "\n"); } ESS_FUNC_M ESS_GetGroupInfoEx (ESS_HCTX_T hCtx) { ESS_STS_T sts = ESS_STS_NOERR; ESS_STR_T groupId; ESS_BOOL_T bisIdentity; ESS_PGROUPINFOID_T groupInfo; groupId = "IDAdminGroup@ldap"; bisIdentity = ESS_TRUE; sts = EssGetGroupInfoEx(hCtx, groupId, bisIdentity, &groupInfo); printf("EssGetGroupInfoEx sts: %ld\n", sts); if(!sts && groupInfo) { DisplayGroupsInfoEx(*groupInfo); } return (sts); }
関連トピック