Daimon
Daimon

Reputation: 375

Spring security and spring boot

I have a question. Why spring security works only with spring boot? I have the following configuration:

AbstractSecurityWebApplicationInitializer

public class SecurityWebInitializer extends AbstractSecurityWebApplicationInitializer {
    }

WebSecurityConfigurerAdapter

    @Configuration
    @EnableWebSecurity
    public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

        @Autowired
        public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception {
        ...
        }

        @Override
        protected void configure(HttpSecurity http) throws Exception {
            CharacterEncodingFilter filter = new CharacterEncodingFilter();
            filter.setEncoding("UTF-8");
            filter.setForceEncoding(true);
            http.addFilterBefore(filter,CsrfFilter.class);
            ...
    }

I tried this just adding spring security dependencies, such as:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>5.0.3.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>5.0.3.RELEASE</version>
</dependency>

but it doesn't work, but when I added

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
            <version>1.5.2.RELEASE</version>
        </dependency>

it started working. Why spring security works only with spring boot?

Upvotes: 0

Views: 951

Answers (2)

ishant kulshreshtha
ishant kulshreshtha

Reputation: 109

Spring security does not have any dependency with spring boot. Its a one of the module of spring which is use to handle security related functionality.

There are different ways to implementing spring security

  1. By maven :- By updating pom.xml with following configration

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-ldap</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-taglibs</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
    </dependency>
    
  2. By Gradle :- By adding following configuration build.gradle

    compile "org.springframework.security:spring-security-core:$springSecurityVersion"
    
        compile "org.springframework.security:spring-security-web:$springSecurityVersion"
    
        compile "org.springframework.security:spring-security-ldap:$springSecurityVersion"
    
        compile "org.springframework.security:spring-security-taglibs:$springSecurityVersion"
    
        compile "org.springframework.security:spring-security-acl:$springSecurityVersion"
    
        compile "org.springframework.security:spring-security-config:$springSecurityVersion"
    
  3. By Adding spring security jar file in project build path.

Upvotes: 0

ajay tomar
ajay tomar

Reputation: 382

Spring security also works without spring boot. Use below dependencies it will work.

    <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>4.1.3.RELEASE</version>
        </dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>${spring.ver}</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>4.1.3.RELEASE</version>
</dependency>

Upvotes: 3

Related Questions