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);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
protected | Datasnap.DSSession.pas Datasnap.DSSession.hpp |
Datasnap.DSSession | TDSSession |
Beschreibung
Gibt autorisierte und abgelehnte Rollen für eine angegebene Servermethode zurück und speichert das Ergebnis zwischen.
GetAuthRoleInternal übernimmt eine Servermethode und einen Authentifizierungsmanager und erstellt oder sucht damit eine entsprechende TRoleAuth-Instanz zum Füllen der Ausgabeparameter AuthorizedRoles
und DeniedRoles
.
Die Eigenschaft AuthRole von TDSMethodInfo kann eine zwischengespeicherte TRoleAuth-Instanz enthalten, die für die Methode verwendet werden soll. Wenn eine hier zwischengespeicherte TRoleAuth-Instanz eine Entwurfszeitrolle repräsentiert, stellt GetAuthRoleInternal sicher, dass diese Rolle den aktuellsten Status des Attributs Roles des Authentifizierungsmanagers wiedergibt. Wenn die TRoleAuth-Instanz veraltet ist, wird sie in der Eigenschaft AuthRole durch eine neue ersetzt, die mit dem aktuellen Status der Roles-Kollektion erstellt wird.
Wenn der zwischengespeicherte Eintrag eine von einem Attribut im Code erstellte TRoleAuth-Instanz ist, wird dieser durch eine TRoleAuth-Entwurfszeitinstanz ersetzt, sofern eine mit mindestens einer autorisierten oder abgelehnten Rolle aus der Roles-Entwurfszeitkollektion im Authentifizierungsmanager erstellt werden kann.
Wenn keine TRoleAuth-Instanz in der Eigenschaft AuthRole vorhanden ist und keine von der Roles-Kollektion erstellt werden kann, wird die TRoleAuth-Instanz – falls eine als Attribut für die Methode vorhanden ist – in AuthRole gespeichert und verwendet. Ansonsten wird eine leere TRoleAuth-Instanz erstellt und zwischengespeichert.