Я устанавливаю свою веб-безопасность в своем проекте, но я вижу ошибку.это ошибка
org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'projectingArgumentResolverBeanPostProcessor', определенным в ресурсе пути к классу [org / springframework / data / web / config / ProjectingArgumentResolverReg]: BeanPostProcessor до сбоя создания экземпляра bean-компонента;вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем «metaDataSourceAdvisor»: невозможно разрешить ссылку на бин «methodSecurityMetadataSource» при установке аргумента конструктора;вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'methodSecurityMetadataSource', определенным в ресурсе пути к классу [org / springframework / security / config / annotation / method / configuration / GlobalMethodSecurityConfiguration.class] через экземпляр фабрикиметод не удался;вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.security.access.method.MethodSecurityMetadataSource]: фабричный метод 'methodSecurityMetadataSource' вызвал исключение;вложенное исключение - java.lang.IllegalStateException: в составе всей глобальной конфигурации метода фактически не была активирована поддержка аннотации в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapable ~ava) spring_actF)-5.1.5.RELEASE.jar: 5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:320) ~ [spring-beans-5.1.5.RELEASE.jar: 5.1.5.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222) ~ [spring-beans-5.1.5.RELEASE.jar: 5.1.5.RELEASE]в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:318) ~ [spring-beans-5.1.5.RELEASE.jar: 5.1.5.RELEASE] в org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:204) ~ [spring-beans-5.1.5.RELEASE.jar: 5.1.5.RELEASE] в org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors (PostProcessorRegistrationDelegate.java:240) ~ [spring-context-5.1.5.RELEASE.jar: 5.1.5.RELEASE] в org.springframework.context.support.Context.support.Context.support.: 721) ~ [spring-context-5.1.5.RELEASE.jar: 5.1.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:534) ~ [spring-context-5.1.5.RELEASE.jar: 5.1.5.RELEASE] в org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:142) ~ [spring-boot-2.1.3.RELEASE.jpg.3.RELEASE] в org.springframework.boot.SpringApplication.refresh (SpringApplication.java:775) [spring-boot-2.1.3.RELEASE.jar: 2.1.3.RELEASE] в org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:397) [spring-boot-2.1.3.RELEASE.jar: 2.1.3.RELEASE] в org.springframework.boot.SpringApplication.run (SpringApplication.java:316) [spring-boot-2.1.3.RELEASE.jar: 2.1.3.RELEASE] в org.springframework.boot.SpringApplication.run (SpringApplication.java:1260) [spring-boot-2.1.3.RELEASE.jar: 2.1.3.RELEASE] at org.springframework.boot.SpringApplication.run (SpringApplication.java:1248) [spring-boot-2.1.3.RELEASE.jar: 2.1.3.RELEASE] в com.supermarket.SupermarketApplication.main (SupermarketApplication.java:19) [классы /: нет]
моя треска:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{
@Autowired
private Environment env;
@Autowired
private UserSecurityService usersecurityservice;
private BCryptPasswordEncoder passwordencoder(){
return SecurityUtility.passwordEncoder();
}
private static final String[]PUBLIC_MATCHES = {
"/css/**",
"/js/**",
"/img/**",
"/signUp",
"/",
"/newUser",
"/forgetPassword",
"/login",
"/fonts/**",
"/bookshelf/**",
"/bookDetail/**",
"/hours",
"/faq",
"/searchByCategory",
"/searchBook"
};
@Override
protected void configure(HttpSecurity http)throws Exception{
http
.authorizeRequests().
/*antMatchers("/**").*/
antMatchers(PUBLIC_MATCHES).
permitAll().anyRequest().authenticated();
http
.csrf().disable().cors().disable()
.formLogin().failureUrl("/login?error")
.defaultSuccessUrl("/")
.successForwardUrl("/login")
.and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("/?logout").deleteCookies("remember-me").permitAll()
.and()
.rememberMe();
}
@Autowired
public void configureGlobal (AuthenticationManagerBuilder auth) throws Exception{
auth.userDetailsService(usersecurityservice).passwordEncoder(passwordencoder());
}
} класс userSecurity:
@Service
public class UserSecurityService implements UserDetailsService {
@Autowired()
private UserRepository userRepository;
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// TODO Auto-generated method stub
try{
}catch(Exception ex){
System.out.println("Error acoured hear:");
}
User user=userRepository.findByUsername(username);
if(null==user){
throw new UsernameNotFoundException("Username not found");
}
return user;
}
Когда я удаляю программу аннотации @EnableGlobalMethodSecurity, она работает правильноЯ использовал эту треску раньше, и она работала правильно.