Actuellement, j'ai deux types de points d'extrémité dans mon service:
/ portail / ** code>: j'ai besoin d'ajouter un filtre portalauthorizizfilter code> li>
- Les autres: je dois ajouter un filtre
autresAuthorizationFilter code> li>
ul> Il est important que autresFilter code> ne doit pas être appliqué sur / portail / ** code> appels. p> J'ai créé un WebsecurityConfigurierAdapter code>. Mon code actuel est le suivant: p> xxx pré> J'ai débogué ce code lorsqu'un appel est effectué sur / portail / ** code>, portalauthorizizfilter < / Code> est atteint, mais alors d'autresAuthorizationfilter code> est atteint également. p> Je ne comprends pas tout à fait comment le résoudre. P>
Toutes idées? p> p>
3 Réponses :
Vous devez créer une autre classe de configuration qui prolongera également WebSecurityConfigurierAdapter, vous correspondez à votre URL avec antmatchers et ajoutez votre filtre. Quel que soit le match de modèle exécutera cette configuration de sécurité Lisez cette POST P>
Ce n'était pas la question de l'OP. Cependant, vous avez raison, configurez AutresAuthorizationfilter code> n'a aucun sens, s'il ne doit pas être appliqué.
doFilter(...) { if(match(request, "/portal/**") .... }
Une autre option consiste à utiliser un modèle de délégué. Imaginez si vous avez un filtre qui ressemble à ce puis au lieu de p> vous auriez simplement p> .addFilter(new PickAndChooseFilter(
new PortalAuthorizationFilter(),
new OthersAuthorizationFilter()
)
Avant de rechercher une cible de Dupe et que vous supprimez également ces questions, je commente d'abord: vous avez ajouté les deux filtres à la configuration, donc les deux sont appliqués.
Si vous ne voulez pas appliquer
AutresAuthorizationFilter Code> Supprimer
.Addfilter (Nouveau AutresAuthorizyFilter ()) Code> à partir de votre configuration.