2014-12-30 10 views
5

मेरे पास एक जावा एप्लिकेशन है जो जावा कॉन्फ़िगरेशन के माध्यम से स्प्रिंग सुरक्षा का उपयोग करता है।जावा कॉन्फ़िगरेशन के माध्यम से स्प्रिंग सुरक्षा अक्षम करें?

संकलन में पूरे वसंत सुरक्षा को चालू/बंद करने का सबसे आसान तरीका क्या है?

तो this जैसे कुछ, लेकिन एक कॉन्फ़िगरेशन के लिए जो कोई एक्सएमएल का उपयोग नहीं करता है।

संपादित करें:

मेरी कोड @Profile लागू करने के बाद लगता है कि: समस्या

@Configuration 
@Profile("SecurityOn") 
@EnableWebMvcSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 

कि अगर प्रोफ़ाइल "SecurityOn" सक्रिय नहीं है, स्प्रिंग सुरक्षा कुछ डिफ़ॉल्ट विन्यास का उपयोग करता है। इसके बजाय, उस मामले में स्प्रिंग सिक्योरिटी को पूरी तरह से कैसे बंद करें?

उत्तर

0

Profile सुविधा का उपयोग करने पर विचार करें।

के बाद से @Profile किसी भी @Bean पद्धति पर विधि-स्तरीय टिप्पणी के रूप में लागू किया जा सकता आप एक प्रोफ़ाइल (जैसे 'सुरक्षित') का उपयोग करें और केवल प्रासंगिक @Bean विधि (रों) टिप्पणी कर सकते हैं।

फिर web.xml

में, JVM प्रणाली संपत्तियों की या तो के माध्यम से सक्रिय प्रोफ़ाइल (रों) निर्दिष्ट एक वातावरण चर के रूप में, या एक सर्वलेट संदर्भ पैरामीटर के रूप में वेब अनुप्रयोगों के लिए नमूना उपयोग here देखें। , तब

@Configuration 
@EnableWebMvcSecurity 
@Profile("!SecurityOn") 
public class WebSecurityConfigDisable extends WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .authorizeRequests() 
      .antMatchers("/**").permitAll(); 
    } 
} 

जब आप अपने आवेदन चलाने के लिए, केवल समय आप प्रवेश करने के लिए किया जाएगा जब SecurityOn प्रोफ़ाइल है की आवश्यकता होगी:

+1

धन्यवाद! मैंने अभी तक @profiles का उपयोग नहीं किया है, इसलिए यह एक महत्वपूर्ण सबक था, लेकिन समस्या बनी हुई है। प्रश्न में संपादित देखें। – masa

3

कि व्यवहार को निष्क्रिय करने के लिए आपको एक और वर्ग है कि इस तरह दिखता है जोड़ सकते हैं सक्रिय। यदि आप मेवेन और स्प्रिंग बूट का उपयोग कर रहे हैं, तो पर आदेश लॉगिन सक्षम होगा।

mvn spring-boot:run -Dspring.profiles.active=SecurityOn 

होगा एक प्रोफ़ाइल, या एक अलग प्रोफ़ाइल के बिना यह चल रहा है, अक्षम लॉगिन। यह स्थानीय विकास के लिए उपयोगी है।

मुझे यह पता चला कि spring-boot-starter-security का उपयोग करते समय यह आवश्यक था क्योंकि डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए लॉगिन आवश्यक था।

संबंधित मुद्दे