Secondo la documentazione ufficiale del framework per abilitare il debug su Spring Security è sufficiente inserire in tag <debug/>
nel file XML
di configurazione. Traducendo letteralmente quanto riportato all’url https://docs.spring.io/spring-security/site/docs/5.0.0.RELEASE/reference/htmlsingle/#nsa-debug:
Abilita l’infrastruttura di debug di Spring Security. Ciò fornirà informazioni di debug human-readable (multi-linea) per monitorare le richieste che arrivano ai filtri di sicurezza. Questo può includere informazioni sensibili, come parametri di request o header, e dovrebbe essere utilizzato solo in un ambiente di sviluppo.
Dipendenze
Sfortunatamente inserire il tag non è sufficiente ma sono necessarie alcune dipendenze non documentate e anche cercando su internet non è così semplice comprendere quali siano. Per questo motivo scrivo questo breve post, che si configura più come promemoria personale, ma che sono sicuro potrà aiutare tantissime altre persone. Considerando la versione 5.0.6.RELEASE
del framework le dipendenze necessarie per vedere le informazioni di debug sul file di log sono:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.25</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <scope>runtime</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>runtime</scope> </dependency> |
Configurazione
Infine è necessario creare il file log4j.properties
nella cartella resources del vostro progetto Maven con le seguenti configurazioni:
1 2 3 4 5 6 7 8 9 10 |
# Root logger option log4j.rootLogger=INFO, stdout log4j.logger.org.springframework.security=DEBUG # Redirect log messages to console log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n |
Ovviamente la cosa più importante è la riga log4j.logger.org.springframework.security=DEBUG
che abilita il livello di DEBUG sul framework.