Подтвердить что ты не робот

Как пройти проверку подлинности Spring -boot

Я ввел пароль, который является "root", и он продолжает выскакивать. Как я могу подавить это или избавиться от него. Я использую spring загрузку и spring безопасность.

введите описание изображения здесь

application.properties

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: /

Я использую intellij 14, если это имеет значение.

---- Обновление 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");
        }
    }

введите описание изображения здесь

4b9b3361

Ответ 1

Вот проблемы

(1).loginPage( "/index" ) говорил, что моя страница входа указана в индексе, однако я просто хотел использовать страницу входа spring по умолчанию.

(2) пришлось переместить пакет безопасности внутри демонстрационного пакета (основного пакета). Спасибо @Sanjay за это. Я попытался использовать @ComponantScan, но он не смог заставить его работать.

Ответ 2

Этот класс должен быть в родительском пакете всех других пакетов: WebSecurityConfig. Также в application.properties установите:

security.basic.enabled=false

Ответ 3

Ответ ACV, вероятно, самый простой способ полностью отключить аутентификацию, добавив security.basic.enabled=false в файл application.properties, который обычно находится в папке src/main/resources.

или просто введите пароль:)

1. использовать пароль по умолчанию

При запуске приложения spring обычно печатается целая куча журналов, которые люди обычно не читают. На самом деле пароль создается и печатается на экране при запуске. и имя пользователя просто user. Если вы тестируете с помощью браузера, и вам, вероятно, нужно только ввести его один раз и кэшировать его, поэтому раз и навсегда вы должны быть надежно зарегистрированы без проверки подлинности каждый раз. (однако, каждый раз, когда вы перезагружаете приложение, он генерирует новый пароль)

введите описание изображения здесь

2. настройте свой пароль

Добавьте следующие свойства в application.properties, если вы хотите настроить свое имя пользователя и пароль:

security.user.name=myuser
security.user.password=mypassword

И вот как это выглядит с вашим собственным именем пользователя и паролем

введите описание изображения здесь

Ссылка:

Ответ 4

Когда Spring Безопасность находится в пути к классам, Spring Boot по умолчанию защищает все ваши страницы с помощью обычной проверки подлинности. Вот почему вас спрашивают об идентификаторе пользователя и пароле.

Вам необходимо настроить защиту. Для этого обычно люди расширяют WebSecurityConfigurerAdapter, например:

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/", "/home").permitAll()
                .anyRequest().authenticated()
                .and()
            ...

Подробнее см. это Spring Руководство по безопасности.

Ответ 5

Вы можете обойти этот механизм безопасности загрузки spring. Ниже приведен пример ниже:

@SpringBootApplication
@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class})
public class SampleSpringBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(SampleSpringBootApplication.class, args);
    }
}