Package org.surfnet.oaaas.config

Source Code of org.surfnet.oaaas.config.CasSpringConfiguration

package org.surfnet.oaaas.config;

import org.jasig.cas.client.authentication.AuthenticationFilter;
import org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter;
import org.jasig.cas.client.validation.Cas20ServiceTicketValidator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.surfnet.oaaas.cas.PostCasAuthenticationFilter;

import javax.servlet.Filter;
import java.util.Arrays;
import java.util.List;

/**
* Created by bourges on 06/08/14.
*/
@Configuration
@PropertySource("classpath:apis.application.properties")
public class CasSpringConfiguration {

    @Value("${cas.serverName}")
    private String serverName;

    @Value("${cas.serverUrlPrefix}")
    private String serverUrlPrefix;

    @Value("${cas.adminList}")
    private String adminList;

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
        return new PropertySourcesPlaceholderConfigurer();
    }

    @Bean
    public Filter casAuthenticationFilter() {
        final AuthenticationFilter authenticationFilter = new AuthenticationFilter();
        authenticationFilter.setCasServerLoginUrl(serverUrlPrefix + "/login");
        authenticationFilter.setServerName(serverName);
        return authenticationFilter;
    }

    @Bean
    public Filter casValidationFilter() {
        final Cas20ProxyReceivingTicketValidationFilter casValidationFilter = new Cas20ProxyReceivingTicketValidationFilter();
        final Cas20ServiceTicketValidator ticketValidator = new Cas20ServiceTicketValidator(serverUrlPrefix);
        casValidationFilter.setTicketValidator(ticketValidator);
        casValidationFilter.setServerName(serverName);
        return casValidationFilter;
    }

    @Bean
    public Filter postCASAuthenticationFilter() {
        final PostCasAuthenticationFilter postCasAuthenticationFilter = new PostCasAuthenticationFilter();
        if (adminList != null) {
            List<String> admins = Arrays.asList(adminList.split(","));
            postCasAuthenticationFilter.setAdmins(admins);
        }
        return postCasAuthenticationFilter;
    }


}
TOP

Related Classes of org.surfnet.oaaas.config.CasSpringConfiguration

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.