मेरे पास वसंत-सुरक्षा का उपयोग कर वसंत-बूट एप्लिकेशन है। सुरक्षा कॉन्फ़िगरेशन को WebSecurityConfigurerAdapter
के कई उदाहरणों में विभाजित किया गया है।वसंत सुरक्षा - एकाधिक विन्यास - लॉगआउट हैंडलर
मैं एक है जहाँ मैं सामान्य रूप में लॉगआउट कॉन्फ़िगर है:
@Override
protected void configure(HttpSecurity http) throws Exception {
// configure logout
http
.logout()
.logoutUrl("/logout")
.invalidateHttpSession(true)
.addLogoutHandler((request, response, authentication) -> {
System.out.println("logged out 1!");
})
.permitAll();
// ... more security configuration, e.g. login, CSRF, rememberme
}
और एक और WebSecurityConfigurerAdapter
, जहां मैं लगभग कुछ भी नहीं करना चाहते हैं एक और LogoutHandler जोड़ने को छोड़कर वहाँ है,:
@Override
protected void configure(HttpSecurity http) throws Exception {
// configure logout
http
.logout()
.logoutUrl("/logout")
.addLogoutHandler((request, response, authentication) -> {
System.out.println("logged out 2!");
});
}
दोनों configure()
तरीकों कहा जाता है। हालांकि, अगर मैं लॉग आउट करता हूं, तो केवल पहले LogoutHandler
को कॉल किया जाता है। दोनों विन्यासों के @Order
को बदलना परिणाम नहीं बदलता है।
मेरी कॉन्फ़िगरेशन में क्या गुम है?
क्या आप एक ही यूआरएल में दो लॉगआउट हैंडलर पंजीकृत करने की कोशिश कर रहे हैं या आप विशेष रूप से लॉगआउट करने की कोशिश कर रहे हैं जो बाकी सब कुछ नहीं चलाता है? – Deadron
लॉगआउट हैंडलर दोनों को एक ही लॉगआउट पर चलना चाहिए। –
उस लिंक को आज़माएं, https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#multiple-httpsecurity मुझे लगता है कि आपका यूआरएल समान है। –