Printemps de Sécurité à l'aide des en-têtes HTTP
Je suis en train d'ajouter de la sécurité à mon Ressort de Démarrage de l'application. Mon application actuelle est à l'aide de RESTE contrôleurs et chaque fois que je reçois un GET
ou POST
demande, j'ai lu l'en-tête HTTP pour récupérer l'utilisateur et le mot de passe afin de les valider par contre le fichier de propriétés, j'ai tous mes utilisateurs enregistrés. Je veux changer ce à l'aide de Printemps de Sécurité et c'est ce que j'ai obtenu jusqu'à présent:
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/index.html").permitAll()
.antMatchers("/swagger-ui.html").hasRole("ADMIN")
.anyRequest().authenticated();
}
@Bean
public UserDetailsService userDetailsService() {
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(User.withUsername("admin").password("password").roles("ADMIN").build());
}
}
Comment puis-je savoir le configure
méthode que l'identification de l'utilisateur sont à récupérer à partir de l'en-tête et pas un formulaire de connexion?
Voulez-vous dire de l'authentification de base avec
Ce que l'en-tête HTTP voulez-vous dire, quel est le nom de l'en-tête?
Authentication
en-tête?Ce que l'en-tête HTTP voulez-vous dire, quel est le nom de l'en-tête?
OriginalL'auteur Chayma Atallah | 2017-05-22
Vous devez vous connecter pour publier un commentaire.
Vous devriez éviter d'utiliser par défaut
org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
puisqu'il obtient fournis par les clients de nom d'utilisateur et le mot de passe à partir des paramètres de votre demande et vous avez vraiment besoin pour obtenir les en-têtes.Donc, vous devez écrire une coutume
AuthenticationFilter
l'extension viséeUsernamePasswordAuthenticationFilter
à changer son comportement pour s'adapter à vos exigences:Cet exemple de filtre s'étend
org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
l'écoute de chaque demande et obtientusername
etpassword
des en-têtes au lieu deparameters
.Alors vous devez modifier la configuration de cette façon, le réglage de votre filtre dans le
UsernamePasswordAuthenticationFilter
position:Merci d'éditer votre post, y compris votre fichier de propriétés de la structure. Vous devez construire un
UserDetailsService
qui lit les entrées à partir de votre fichierOriginalL'auteur jlumietu
Dans la mémoire de l'authentification servir vos fins
OriginalL'auteur Pete T
Au printemps de démarrage app, vous pouvez ajouter ci-dessous pour l'application.propriétés
Il ne reste de la chose, comme l'obtenir à partir d'en-tête et de validation
pour plus de visite https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-security.html
voir ce que vous pouvez créer votre propre AuthenticationManager et ajouter des comptes d'utilisateur de docs.printemps.io/spring-boot/docs/current/reference/html/...
OriginalL'auteur gladiator