Saya menyiapkan Keamanan Musim Semi untuk menangani pengguna yang masuk. Saya telah masuk sebagai pengguna, dan dibawa ke halaman kesalahan Access Denied setelah berhasil masuk. Saya tidak tahu peran apa yang sebenarnya telah ditetapkan oleh pengguna saya, atau aturan yang menyebabkan akses ditolak, karena saya tidak tahu cara mengaktifkan debugging untuk pustaka Keamanan Musim Semi.
Xml keamanan saya:
<?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>
Saya juga mencoba menambahkan log4j.logger.org.springframework.security=DEBUG
ke log4j.properties saya
Bagaimana saya bisa mendapatkan keluaran debug untuk Keamanan Musim Semi?
debugging
spring-security
Martin Carney
sumber
sumber
Jawaban:
Dengan asumsi Anda menggunakan Spring Boot, opsi lain adalah meletakkan yang berikut ini di
application.properties
:Ini sama untuk kebanyakan modul Spring lainnya juga.
Jika Anda tidak menggunakan Spring Boot, coba setel properti di konfigurasi logging Anda, misalnya logback.
Ini juga versi application.yml:
sumber
application.properties
adalah fitur Spring Boot. Jika Anda tidak menggunakan Spring Boot, Anda dapat menyetel level logorg.springframework.security
dengan cara lain (misalnya, di logback.xml Anda).org.springframework.web.cors
untuk mengaktifkan log prosesor Cors.Anda dapat dengan mudah mengaktifkan dukungan debugging menggunakan opsi untuk
@EnableWebSecurity
anotasi:@EnableWebSecurity(debug = true) public class SecurityConfiguration extends WebSecurityConfigurerAdapter { … }
sumber
EnableWebFluxSecurity
, itu tidak memiliki opsi debugDebugging dasar menggunakan Spring
DebugFilter
dapat dikonfigurasi seperti ini:sumber
Anda dapat dengan mudah mengaktifkan dukungan debugging menggunakan opsi untuk anotasi @EnableWebSecurity:
Jika Anda memerlukan kontrol khusus profil dalam file application- {profile} .properties
Dapatkan Pos Terperinci: http://www.bytefold.com/enable-disable-profile-specific-spring-security-debug-flag/
sumber
Pencatatan keamanan musim semi untuk aplikasi reaktif webflux sekarang tersedia mulai dengan versi 5.4.0-M2 (sebagaimana disebutkan oleh @bzhu di komentar Bagaimana cara mengaktifkan pencatatan untuk Keamanan Musim Semi? )
Sampai ini masuk ke rilis GA, berikut adalah cara mendapatkan rilis pencapaian ini dalam gradle
sumber
Secara default, Spring Security mengarahkan pengguna ke URL yang awalnya dia minta (/Load.do dalam kasus Anda) setelah login.
Anda dapat menyetel selalu-gunakan-default-target ke true untuk menonaktifkan perilaku ini:
sumber