All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mule.module.spring.security.SpringSecurityContextFactory Maven / Gradle / Ivy

Go to download

Mule Spring Security support exposes Spring Security Authentication providers and Method interceptors to authenticate event traffic via endpoints and provide method level authorization on components.

The newest version!
/*
 * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
 * The software in this package is published under the terms of the CPAL v1.0
 * license, a copy of which has been included with this distribution in the
 * LICENSE.txt file.
 */
package org.mule.module.spring.security;

import org.mule.api.security.Authentication;
import org.mule.api.security.SecurityContext;
import org.mule.api.security.SecurityContextFactory;

import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.context.SecurityContextImpl;

/**
 * SpringSecurityContextFactory creates an SpringSecurityContext for an
 * Authentication object.
 */
public class SpringSecurityContextFactory implements SecurityContextFactory
{
    @Override
    public SecurityContext create(Authentication authentication)
    {
        org.springframework.security.core.context.SecurityContext context = new SecurityContextImpl();
        context.setAuthentication(((SpringAuthenticationAdapter)authentication).getDelegate());

        if (authentication.getProperties() != null)
        {
            if (authentication.getProperties().containsKey("securityMode"))
            {
                String securityMode = (String)authentication.getProperties().get("securityMode");
                SecurityContextHolder.setStrategyName(securityMode);
            }
        }
        SecurityContextHolder.setContext(context);
        return new SpringSecurityContext(context);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy