Comment passer l'Authentification requise sécurité de démarrage
j'ai mis le mot de passe qui est "root" et il ne cesse d'apparaître en arrière. Comment puis-je supprimer ceci ou s'en débarrasser? J'utilise une botte et un ressort de sécurité.
application.propriétés
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springbootpractice
spring.datasource.username=root
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
# Hibernate
hibernate.dialect: org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql: true
hibernate.hbm2ddl.auto: update
entitymanager.packagesToScan: /
j'utilise intellij 14 si cela compte.
----mise à Jour 1-----
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/index").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/index")
.permitAll()
.and()
.logout()
.permitAll();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/index").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/index")
.permitAll()
.and()
.logout()
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
5 réponses
Cette classe doit être dans un package parent de tous les autres paquets:
WebSecurityConfig
.
Aussi dans application.properties
jeu:
security.basic.enabled=false
la réponse D'ACV est probablement la façon la plus facile de désactiver complètement l'authentification en ajoutant security.basic.enabled=false
à la demande.fichier de propriétés qui est généralement situé sous src/main/resources
dossier.
ou vous tapez simplement le mot de passe :)
1. utilisez le mot de passe par défaut
lorsque vous exécutez votre application de printemps, il y a généralement un tas de journalisation imprimée, que les gens ne lisent généralement pas. Le mot de passe est effectivement généré et imprimé à l'écran à la démarrage. et le nom d'utilisateur est tout simplement user
. Si vous testez en utilisant un navigateur et il n'a probablement besoin que vous l'entrez une fois et le cache, donc une fois pour toutes, vous devriez être connecté en toute sécurité sans authentification à chaque fois.
(cependant, chaque fois que vous redémarrez votre application, il va générer un nouveau mot de passe)
2. personnaliser votre mot de passe
Ajouter les propriétés suivantes à votre demande.propriétés si vous voulez personnalisez votre nom d'utilisateur et votre mot de passe:
security.user.name=myuser
security.user.password=mypassword
Et voici à quoi ça ressemble avec votre propre nom d'utilisateur et mot de passe
Référence:
lorsque la sécurité du ressort est dans classpath, le démarrage du ressort par défaut sécurise toutes vos pages avec une authentification de base. C'est pourquoi on vous demande votre nom d'utilisateur et votre mot de passe.
vous devrez configurer la sécurité. Pour ce faire, les gens seraient généralement étendre un WebSecurityConfigurerAdapter
, comme ceci:
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
.and()
...
Consulter ce Printemps, guide de Sécurité pour plus de détails.
Vous pouvez contourner ce mécanisme de sécurité. Voir un exemple ci-dessous pour ceci:
@SpringBootApplication
@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class})
public class SampleSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SampleSpringBootApplication.class, args);
}
}
Ici, c'est la questions
(1).loginPage ("/index") disait que ma page de connexion était à index, cependant je voulais juste utiliser la page de connexion par défaut du printemps.
(2) devait déplacer le paquet de sécurité à l'intérieur du paquet de démonstration (le paquet principal). Merci à @Sanjay d'avoir suggéré cela. J'ai essayé d'utiliser @ComponantScan mais ça n'a pas marché.