Spring Boot 2.0.x désactiver la sécurité pour certain profil
Au Printemps De Démarrage 1.5.x, j'ai configuré la Sécurité et, dans certains profils (par exemple, local), j'ai ajouté security.basic.enabled=false
ligne .fichier de propriétés pour désactiver tous les services de sécurité pour ce profil. Je suis en train de migrer vers le nouveau Printemps de Démarrage 2, où la configuration de la propriété est supprimée. Comment puis-je obtenir le même comportement (sans l'aide de cette propriété) au Printemps Boot 2.0.x?
J'ai déjà lu Spring-Boot-Sécurité-2.0 et sécurité-modifications-au-printemps-boot-2-0-m4 et il n'y a rien au sujet de cette propriété.
- cette propriété est répertorié comme une modification de rupture ici : github.com/spring-projects/spring-boot/wiki/...
- Oui, c'est vrai. C'est pourquoi je me demande comment puis-je obtenir le même comportement au Printemps Boot 2 (sans cette propriété, bien sûr).
- Oui, c'est vrai aussi. C'est pourquoi je me demande comment le faire. De la plupart des réponses sur la désactivation de la sécurité de l'utilisation de la configuration de la propriété. Tous les autres, le Profil d'utilisation de l'annotation pour désactiver la configuration de haricots pour certains profils, mais qui n'est pas le comportement que je veux depuis le Printemps de Sécurité nécessite un nom d'utilisateur par défaut. Je veux désactiver la connexion complètement pour certains profils.
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter un Printemps de configuration de la Sécurité, voir Printemps De Démarrage Guide De Référence:
Par exemple:
À utiliser la configuration d'un profil ajouter
@Profil
à la classe. Si vous voulez l'activer en propriété, ajouterConditionalOnProperty
à la classe.@Order
. Par exemple, si votre primaire de sécurité config utilise le profil par défaut (n'a pas de@Profile
spécifié) et que vous ajoutez un dev profil sur une autre config, puis, quand vous êtes en cours d'exécution avec le dev profil actif Printemps devrez décider de la config qui l'emporte.Voici comment j'ai fini par résoudre le problème. Voici un exemple de la façon dont ma sécurité config regardé dans le Printemps de Démarrage 1.5.x. La sécurité a été désactivé avec la propriété
security.basic.enabled=false
:Depuis
security.basic.enabled
a été retiré au Printemps Boot 2 (mais encore réservé comme nom de la propriété), j'ai fini par utilisersecurity.enabled
comme une propriété personnalisée. Voici un exemple de la façon dont ma config ressemble au Printemps de Démarrage 2:@ConditionalOnProperty(prefix = "spring", name = "security.enabled")
sur SecurityConfig classe pour éviter de si-sinon à l'intérieur deconfigure()
Il y a une option pour désactiver la sécurité dans le ressort de démarrage 2
Ajouter ceci au-dessus de la classe principale
En fait il y a plusieurs réponses pour certaines configurations pour cette question; dans mon cas, j'ai été jouer Spring Boot 2 avec Ressort de Sécurité et de JWT. Afin d'assurer mon REPOS points de terminaison j'ai besoin de créer des jetons etc. Après, j'ai écrit mon code et essayé de tester mes points de terminaison pour voir si JWT fonctionne très bien, je me retrouve face à de connexion par défaut de la page. J'ai essayé de changer de fichier de propriétés mentionnées ci-dessus et enfin j'ai désactivé par l'ajout de la
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class} )
annotation de ma classe d'application.Dans springboot 2.1.4 j'ai eu à faire ce
Printemps De Démarrage 2.1.3
Pour un certain profil "dev"
Créer un nouveau Printemps de la Configuration de la classe
Cela va désactiver le printemps de sécurité.