Estoy configurando Spring Security para manejar el inicio de sesión de los usuarios. He iniciado sesión como usuario y se me lleva a una página de error Acceso denegado después de iniciar sesión correctamente. No sé qué roles se le han asignado realmente a mi usuario, o la regla que hace que se niegue el acceso, porque no puedo averiguar cómo habilitar la depuración para la biblioteca de Spring Security.
Mi xml de seguridad:
<?xml version="1.0" encoding="UTF-8"?>
<beans ... >
<!-- security -->
<security:debug/><!-- doesn't seem to be working -->
<security:http auto-config="true">
<security:intercept-url pattern="/Admin**" access="hasRole('PROGRAMMER') or hasRole('ADMIN')"/>
<security:form-login login-page="/Load.do"
default-target-url="/Admin.do?m=loadAdminMain"
authentication-failure-url="/Load.do?error=true"
username-parameter="j_username"
password-parameter="j_password"
login-processing-url="/j_spring_security_check"/>
<security:csrf/><!-- enable Cross Site Request Forgery protection -->
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:jdbc-user-service data-source-ref="loginDataSource"
users-by-username-query="SELECT username, password, active FROM userinformation WHERE username = ?"
authorities-by-username-query="
SELECT ui.username, r.rolename
FROM role r, userrole ur, userinformation ui
WHERE ui.username=?
AND ui.userinformationid = ur.userinformationid
AND ur.roleid = r.roleid "
/>
<security:password-encoder hash="md5"/>
</security:authentication-provider>
</security:authentication-manager>
</beans>
También intenté agregar log4j.logger.org.springframework.security=DEBUGa mis log4j.properties
¿Cómo puedo obtener resultados de depuración para Spring Security?
debugging
spring-security
Martin Carney
fuente
fuente

Respuestas:
Suponiendo que está usando Spring Boot, otra opción es poner lo siguiente en su
application.properties:Esto también es lo mismo para la mayoría de los otros módulos Spring.
Si no está utilizando Spring Boot, intente establecer la propiedad en su configuración de registro, por ejemplo, logback.
Aquí está también la versión application.yml:
fuente
application.propertieses una función de Spring Boot. Si no usa Spring Boot, puede configurar el nivel de registroorg.springframework.securitypor otros medios (por ejemplo, en su logback.xml).org.springframework.web.corspara habilitar los registros del procesador de Cors.Puede habilitar fácilmente el soporte de depuración usando una opción para la
@EnableWebSecurityanotación:@EnableWebSecurity(debug = true) public class SecurityConfiguration extends WebSecurityConfigurerAdapter { … }fuente
EnableWebFluxSecuritytal si no tiene la opción de depuración?La depuración básica con Spring
DebugFilterse puede configurar así:fuente
Puede habilitar fácilmente el soporte de depuración usando una opción para la anotación @EnableWebSecurity:
Si necesita un control específico del perfil en su aplicación- {profile} .properties file
Obtenga publicación detallada: http://www.bytefold.com/enable-disable-profile-specific-spring-security-debug-flag/
fuente
El registro de seguridad de Spring para aplicaciones reactivas de webflux ahora está disponible a partir de la versión 5.4.0-M2 (como lo menciona @bzhu en el comentario ¿Cómo habilito el registro para Spring Security? )
Hasta que esto llegue a una versión de GA, aquí se explica cómo obtener esta versión de hito en gradle
fuente
De forma predeterminada, Spring Security redirige al usuario a la URL que solicitó originalmente (/Load.do en su caso) después de iniciar sesión.
Puede establecer always-use-default-target en true para deshabilitar este comportamiento:
fuente