Datasnap.DSSession.TDSSession.GetAuthRoleInternal
Delphi
procedure GetAuthRoleInternal(ServerMethod: TDSServerMethod; AuthManager : TDSCustomAuthenticationManager; out AuthorizedRoles, DeniedRoles: TStrings);
C++
void __fastcall GetAuthRoleInternal(Datasnap::Dscommonserver::TDSServerMethod* ServerMethod, Datasnap::Dsauth::TDSCustomAuthenticationManager* AuthManager, /* out */ System::Classes::TStrings* &AuthorizedRoles, /* out */ System::Classes::TStrings* &DeniedRoles);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
protected | Datasnap.DSSession.pas Datasnap.DSSession.hpp |
Datasnap.DSSession | TDSSession |
Description
Renvoie les rôles autorisés et refusés pour une méthode serveur donnée et met en cache le résultat.
GetAuthRoleInternal prend une méthode serveur et un gestionnaire d'authentification. Avec ceux-ci, elle construit ou recherche une instance de TRoleAuth appropriée à utiliser afin de remplir les paramètres de sortie AuthorizedRoles
et DeniedRoles
.
La propriété AuthRole de TDSMethodInfo peut contenir un TRoleAuth mis en cache devant être utilisé pour la méthode. Cependant, si un TRoleAuth est mis en cache ici et est un rôle à l'exécution, GetAuthRoleInternal s'assure que ce rôle reflète l'état le plus récent de l'attribut Roles du gestionnaire d'authentification. Si le TRoleAuth est obsolète, il est remplacé dans la propriété AuthRole par un nouveau rôle, créé en utilisant l'état en cours de la collection de rôles.
Si l'élément mis en cache est un TRoleAuth créé par un attribut dans le code, il sera remplacé par une instance de TRoleAuth de conception, si un peut être créé avec au moins un rôle autorisé ou refusé depuis la collection de rôles de conception dans le gestionnaire d'authentification.
Si aucun TRoleAuth n'existe dans la propriété AuthRole et la collection de rôles ne peut en créer aucun, et qu'un TRoleAuth existe en tant qu'attribut de la méthode, il est stocké dans AuthRole et utilisé. Sinon, un TRoleAuth vide est créé et mis en cache.