[JAVA] [Résolu dans 5.2.1] Spring Security 5.2.0.RELEASE présente des incompatibilités non mentionnées dans la note de publication

Cible

Ce qui est incompatible

L'exception «throws» a été supprimée de la définition de méthode «configure (WebSecurity)» de «WebSecurityConfigurerAdapter».

La différence de commit est ici. Outre WebSecurityConfigurerAdapter, il existe de nombreuses classes avec des changements similaires.

Cela provoque une erreur de compilation dans la sous-classe WebSecurityConfigurerAdapter lors de la mise à niveau de la bibliothèque de 5.1.x vers 5.2.0.RELEASE. Ceci est dû au fait qu'il n'y a pas d'exception dans la source de remplacement.

Exemple de sous-classe WebSecurityConfigurerAdapter (avant modification)


@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    //Cette méthode provoque une erreur de compilation
    @Override
    public configure(WebSecurity web) throws Exception {
        // ...
    }
}

[PostScript 2019/11/07] Dans Spring Security 5.2.1.RELEASE, la suppression de l'exception «throws» a été restaurée! -> Historique des validations

Contre-mesures

Supprimons le throws Exception de la méthode configure (WebSecurity).

Exemple de sous-classe WebSecurityConfigurerAdapter (après modification)


@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    //Cela ne provoquera pas d'erreur de compilation
    @Override
    public configure(WebSecurity web) {
        // ...
    }
}

Selon le [Commit Log] ci-dessus (https://github.com/spring-projects/spring-security/commit/34dd5fea30d4e3d862dfc675cb97cf967a6ad25b#diff-5b46e0ff6fdabbe97888183284338784), `l'exception de nombreuses autres méthodes a été supprimée. Il semble.

Si vous utilisez ces méthodes, vous devrez tous faire de même.

[Mis à jour le 07 novembre 2019] Ceux qui ont pris cette mesure dans la version 5.2.0 ne devraient pas avoir besoin d'ajouter throws Exception lors de la mise à jour vers la version 5.2.1.

Pourtant···

Je ne veux pas que tu fasses ça. .. ..

Il est répertorié dans Spring Security Issue.

Recommended Posts

[Résolu dans 5.2.1] Spring Security 5.2.0.RELEASE présente des incompatibilités non mentionnées dans la note de publication
Contribué à Gradle et a été nommé dans la note de publication
Les en-têtes de réponse peuvent ne pas être affichés correctement dans Spring Security 4.1
Notes organisées dans la tête (Java-Exceptions)
Comment utiliser Thymeleaf avec Spring Boot
JSESSIONID n'a pas pu être attribué à l'URL lors de l'utilisation de Spring Security