Project

General

Profile

1
package eu.dnetlib.uoaauthorizationlibrary.security;
2

    
3
import eu.dnetlib.uoaauthorizationlibrary.utils.AuthorizationUtils;
4
import org.springframework.beans.factory.annotation.Autowired;
5
import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
6
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
7
import org.springframework.security.web.DefaultSecurityFilterChain;
8
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
9
import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
10

    
11
public class AuthorizationFilterConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
12

    
13
    private AuthorizationProvider authorizationProvider;
14
    private AuthorizationUtils utils;
15

    
16
    @Override
17
    public void init(HttpSecurity http) throws Exception {
18
        http.csrf().disable();
19
    }
20

    
21
    @Autowired
22
    public AuthorizationFilterConfigurer(AuthorizationProvider authorizationProvider, AuthorizationUtils utils) {
23
        this.authorizationProvider = authorizationProvider;
24
        this.utils = utils;
25
    }
26

    
27
    @Override
28
    public void configure(HttpSecurity http) throws Exception {
29
        AuthorizationFilter customFilter = new AuthorizationFilter(authorizationProvider, utils);
30
        http.addFilterBefore(customFilter, BasicAuthenticationFilter.class);
31
    }
32

    
33
}
(2-2/7)