嵌入到Spring安全配置类中的UserDetailsService

嵌入到Spring安全配置类中的UserDetailsService,spring,spring-mvc,spring-security,Spring,Spring Mvc,Spring Security,在我的spring项目中,我通常为此类添加广告以提供控件访问: @Configuration @EnableWebMvcSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private UserDetailsService userDetailsService; @Autowired private PasswordEncoder passwordE

在我的spring项目中,我通常为此类添加广告以提供控件访问:

@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
  @Autowired
  private UserDetailsService userDetailsService;

  @Autowired
  private PasswordEncoder passwordEncoder;

  @Autowired
  private AuthenticationManagerBuilder auth;

  @Autowired
  private PermissionEvaluator permissionEvaluator;

  @Override
  protected void configure(HttpSecurity http) throws Exception {
    http
      .csrf()
        .disable()
      .authorizeRequests()
        .antMatchers("/**", "/static/**").permitAll()
        .anyRequest().authenticated()
        .and()
      .formLogin()
        .loginPage("/signin")
        .loginProcessingUrl("/login").permitAll()
        .usernameParameter("login")
        .passwordParameter("senha")
        .defaultSuccessUrl("/home", true)
        .and()
      .rememberMe()
        .key("remember-me")
        .and()
      .logout()
        .logoutUrl("/logout")
        .logoutSuccessUrl("/");
  }

  @Override
  public void configure(WebSecurity web) throws Exception {
    DefaultWebSecurityExpressionHandler handler = new DefaultWebSecurityExpressionHandler();
    handler.setPermissionEvaluator(permissionEvaluator);

    web
      .expressionHandler(handler);
  }

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

  @Bean
  @Override
  public AuthenticationManager authenticationManagerBean() throws Exception {
    return auth.getOrBuild();
  }
}
通常,我使用分离的类实现beans UserDetailsService、PasswordEncoder和PermissionEvaluator。现在,我正在寻找一种在上述类中实现这个bean的方法,作为内部类或方法


有人知道这是否可行,并能为我提供一个链接和一个例子吗?

你试过了吗?您遇到任何具体问题了吗?问题是为什么要打包代码?这使得调试变得更加困难,您可能会遇到约束/冲突,可读性也会消失