Pour sécuriser les API en suivant les règles applicatives, il existe plusieurs niveaux de filtres permettant de contrôler l'accès aux endpoints de l'API.
En suivant cette logique, nous disposons de ces annotations :
@SecuredAction(type = ActionType.XXXXXXXX, value = "")
:ActionType.RESOURCE
:WORKFLOW
RESOURCE
AUTHENTICATED
@ResourceFilter(XXXXXXXXX.class)
: Cette annotation défini l’accès a des groupes particuliers d’utilisateurSuperAdminFilter.class
AdminFilter.class
RoleFilter.class
LinkRoleGroupFilter.class
RoleGroupFilter.class
ApplicationFilter.class
AdmlOfStructure.class
WidgetLinkFilter.class
MessageOwnerFilter.class
VisiblesFilter.class
MessageUserFilter.class
MultipleMessageUserFilter.class
MessageUserFilter.class
FoldersFilter.class
AdmlOfStructureOrClassOrTeachOfUser.class
AdmlOfStructuresByExternalId.class
TeacherOfClass.class
AdminStructureFilter.class
UserInStructure.class
UserAccessOrVisible.class
TeacherOfUser.class
AnyAdminOfUser.class
AddFunctionFilter.class
UserAccessOrVisible.class
RelativeStudentFilter.class
AdmlOfUser.class
AdmlOfTwoUsers.class
AdmlOfStructuresByUAI.class
@MfaProtected()
: Cette annotation permet d’ajouter un filtre supplémentaire demandant la 2FA pour les endpoints.