按照配置不起作用,因为我使用了@PreAuthorize注释。 我想在我自己的AuthenticationProvider中注入一个服务。如果我的服务不使用@PreAuthorize注释,它将起作用。如果我使用这个注释,那么"我的服务" bean将在" MyGlobalAuthenticationConfigurerAdapter"中为null,因为在创建我的服务bean时,也会创建验证提供程序(到早期)。那我该怎么办?
为MyService:
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class MyConfiguration {
@Bean
public MyService myService() {
return new MyServiceimpl();
}
配置1:
@Configuration
@ComponentScan
@EnableAutoConfiguration
@Order(Ordered.HIGHEST_PRECEDENCE)
public class MyGlobalAuthenticationConfigurerAdapter extends GlobalAuthenticationConfigurerAdapter {
@Autowired
private MyService myService;
@Override
public void configure(final AuthenticationManagerBuilder auth) throws Exception {
final MyAuthenticationProvider myAuthenticationProvider = myAuthenticationProvider ();
auth.authenticationProvider(myAuthenticationProvider );
}
@Bean
public MyAuthenticationProvider myAuthenticationProvider () {
return new MyAuthenticationProvider (myService);
}
配置Config2:
...
VALUES :name, ...
...
$result = $stud->update($sql, array(":fname" => $fn, ...