GeneXus Access Manager ライブラリの GAMUser オブジェクトには、ユーザーの GAM ロールを取得するメソッドがあります。
たとえば次のものがあります:
- (Boolean) GAMUser.CheckRole(String: RoleName)
- (Boolean) GAMUser.CheckRoleById(Numeric: RoleId)
- (Boolean) GAMUser.CheckRoleByGUID(GUID: RoleGUID)
- (Boolean) GAMUser.CheckRoleByExternalId(String: RoleExternalId)
GAMRepository オブジェクトの次のメソッドは前述のものと同じです:
- (Boolean) GAMRepository.CheckRole(String: RoleName)
- (Boolean) GAMRepository.CheckRoleById(Numeric: RoleId)
- (Boolean) GAMRepository.CheckRoleByGUID(GUID: RoleGUID)
- (Boolean) GAMRepository.CheckRoleByExternalId(String: RoleExternalId)
ロールがユーザーと関連付けられているか、ユーザーと関連付けられているロールの下位ロールである場合、これらのメソッドは True を返します
次のコードは、GAMMasterpage オブジェクトの Start イベントにあります:
If GAMUser.CheckRoleByExternalId(!"is_gam_administrator")
Header1.Object= GAMHeader.Create(ContHolder1.Pgmname)
//OK
Else
GAMExampleNotAuthorized.Link()
Endif
ユーザーに割り当てられているロールのコレクションを返します。
構文:
GAMUser.GetRoles(out:GAMError Collection): GAMRole Collection
ユーザーに割り当てられているロールおよびその子孫のコレクションを返します。
構文:
GAMUser.GetRoles(out:GAMError Collection): GAMRole Collection
これらのメソッドは [ Require Access Permissions Application ] プロパティを考慮しません。つまり、ロールは互いに独立しているため、アプリケーションでロールを管理することはできますが、アクセス許可は管理できません。
特定の一連のロールを持つユーザーを取得する方法
|