Java Spring 2.19 Ошибка входа в систему с пользовательской аутентификацией - PullRequest
1 голос
/ 03 ноября 2019

Я следую учебному пособию, и когда я пытаюсь войти в систему с "foo" в качестве имени пользователя и пароля, используя форму, я получаю неверные имя пользователя и пароль. На самом деле я не вижу необходимости вводить значение "foo", но я следую учебному пособию.

package com.dac.imoveis.controllers;

import com.dac.imoveis.controllers.MyUserDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;   


@EnableWebSecurity
public class SecurityConfigurer extends WebSecurityConfigurerAdapter {

    @Autowired
    private MyUserDetailsService myUserDetailsService;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
         auth.userDetailsService(myUserDetailsService);
    }

     @Bean
    public PasswordEncoder passwordEncoder(){
    return NoOpPasswordEncoder.getInstance();
    }

}

UserDetailsService

 package com.dac.imoveis.controllers;

import java.util.ArrayList;
import org.springframework.context.annotation.Bean;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

@Service
class MyUserDetailsService implements UserDetailsService {

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        return new User("foo", "foo", new ArrayList<>());
    }



}

Класс точки входа

     @SpringBootApplication
@ComponentScan(basePackages={"com.dac.imoveis.controllers"})
public class ImoveisApplication {

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

}
...