我是Spring的新手 . 客户端请求访问其余服务,在Spring提供的http登录中提供用户名和密码,如图所示 . 我不想在application.properties中保存凭据('用户名和密码') . 当我提供凭证并输入登录按钮时,我需要读取用户从登录中提供的数据(在我的情况下为username-'root'和pwd-'root')并在我的算法中使用它,执行该过程然后进行身份验证 . 有办法吗?

如果有人有任何想法,请帮助我 .

authentication login screen这是我的示例代码:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Autowired
private MyBasicAuthenticationEntryPoint authEntryPoint;

@Autowired
private MyUserDetailsService userDetailsService;

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    // auth.inMemoryAuthentication().withUser("user1").password("user1Pass").roles("ADMIN")
    // .and().withUser("user2").password("user2Pass").roles("ADMIN");

    auth.authenticationProvider(authenticationProvider());

}

public DaoAuthenticationProvider authenticationProvider() {
    DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
    provider.setUserDetailsService(userDetailsService);
    // provider.setPasswordEncoder(new BCryptPasswordEncoder());
    return provider;

}

// I am trying like this but not sure is this the right way
public void details(User user) {
    String name = user.getName();
    String password = user.getPassword();
    System.out.println("name " + name + "password" + password);
}
// I am trying like this but not sure is this the right way
public void userDetails(UsernamePasswordAuthenticationFilter filter) {
    String usernameParameter = filter.getUsernameParameter();
    System.out.println(usernameParameter);
    String passwordParameter = filter.getPasswordParameter();
    System.out.println(passwordParameter);
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();

    http.authorizeRequests().anyRequest().authenticated();

    http.httpBasic().authenticationEntryPoint(authEntryPoint);

}

}


@Component
public class MyBasicAuthenticationEntryPoint extends 
BasicAuthenticationEntryPoint{

@Override
public void commence(HttpServletRequest request, HttpServletResponse 
response,
        AuthenticationException authException) throws IOException, 
ServletException {

    response.addHeader("WWW-Authenticate", "Basic realm="  +  
    getRealmName());
    response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
    PrintWriter printWriter= response.getWriter();
    printWriter.println("Http Status 401-" + authException.getMessage());
}

  @Override
  public void afterPropertiesSet() throws Exception {
    //RealName appears in the login window
    setRealmName("Rashmi");
    super.afterPropertiesSet();
  }
}



@SpringBootApplication
public class SpringRestfulWebServiceApplication extends 
SpringBootServletInitializer {

    @Autowired
    CustomerDetailsController customerDetailsController;

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


    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder 
    application) {
      return application.sources(SpringRestfulWebServiceApplication.class);
    }

}