** Когда я добавляю пружинную защиту, я не вижу журналы с моего контроллера в методе POST. В методе достань все нормально. Если я правильно понимаю, мне нужно как-то добавить весенние фильтры в логирование, но как? В metgod POST логи не работают ... почему? В сервисном слое, где безопасность получает пароль от работающих журналов БД ... **
@Controller("LoginController")
public class LoginController {
private final Logger logger = LogManager.getLogger(LoginController.class);
private SearchPassportForm searchPassportForm = new SearchPassportForm();
@Autowired
private CustomerService customerService;
@RequestMapping(value = "/logIn", method = RequestMethod.GET)
public String logIn(Model model) {
model.addAttribute("searchPassportForm", searchPassportForm);
model.addAttribute("customer", new Customer());
logger.debug("METHODD GETTTT");
return "logIn";
}
@RequestMapping(value = "/logIn", method = RequestMethod.POST)
public String logInPost(@ModelAttribute Customer customer, SearchPassportForm searchPassportForm,
Model model, HttpSession session) {
logger.debug("login customer " + customer.toStringLogin());
logger.debug("login searchPassportForm " + searchPassportForm.toString());
logger.info("INFOOOOOOOOOOOOOOOOOOO -->>>>>>>>>>>>>>>>");
UsernamePasswordAuthenticationToken authentication = (UsernamePasswordAuthenticationToken) SecurityContextHolder.getContext().getAuthentication();
System.out.println("authentication ----->>>> " + authentication.getName());
validateCustomer(authentication.getPrincipal());
Customer customerLogged = ((UserDetailsImpl) authentication.getPrincipal()).getCust();
logger.debug("login SECURITY ------> " + customerLogged.toStringLogin());
session.setAttribute("customerID", customerLogged.getId());
return "redirect:/home";
}
}
**Spring config**
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
{
@Bean
public UserDetailsServiceImpl userDetailsService() {
return new UserDetailsServiceImpl();
}
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
@Bean
public DaoAuthenticationProvider daoAuthenticationProvider () {
DaoAuthenticationProvider authenticationProvider = new
DaoAuthenticationProvider();
authenticationProvider.setUserDetailsService(userDetailsService());
authenticationProvider.setPasswordEncoder(bCryptPasswordEncoder());
return authenticationProvider;
}
@Override
protected void configure(AuthenticationManagerBuilder amb) throws
Exception {
amb.authenticationProvider(daoAuthenticationProvider());
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers("/resources/**")
.antMatchers("/resources/bootstrapComponent/**")
.antMatchers("/resources/css/**")
.antMatchers("/resources/patternViews/**");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.headers()
.defaultsDisabled()
.contentTypeOptions().and()
.frameOptions().and()
.xssProtection()
.block(true).and()
.contentSecurityPolicy ( "script-src 'self'").and()
.cacheControl();
http.authorizeRequests()
.antMatchers("/main", "/singin",
"/signUp").permitAll()
.antMatchers("/home").hasRole("User")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/singin").permitAll()
.loginProcessingUrl("/singin")
.usernameParameter("username")
.passwordParameter("password")
.defaultSuccessUrl("/home")
.and()
.logout()
.logoutUrl("/logOut")
.logoutSuccessUrl("/singin");
}
}
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} -
%msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.springframework.web" additivity="true">
<level value="debug"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.InternationalPassport.businessLayer" additivity="true">
<level value="debug"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.InternationalPassport.controller" additivity="true">
<level value="debug, info"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.InternationalPassport.springConfigs.WebSecurityConfig" additivity="true">
<level value="debug"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.InternationalPassport.security" additivity="true">
<level value="debug"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.springframework.security" additivity="true">
<level value="debug"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.springframework.security.web" additivity="true">
<level value="debug"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="" additivity="true">
<level value="debug"/>
<AppenderRef ref="Console"/>
</Logger>
<Root level="debug">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
maven dependisies.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${logger.Log4J2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${logger.Log4J2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.13.1</version>
</dependency>
If anyone can help me - thanks for all.