Federico Mariani created CAMEL-21887:
----------------------------------------

             Summary: camel-platform-http-starter - Add support for Spring 
security context injection
                 Key: CAMEL-21887
                 URL: https://issues.apache.org/jira/browse/CAMEL-21887
             Project: Camel
          Issue Type: Improvement
            Reporter: Federico Mariani


Spring Boot does not support Principal/ContextSecurity Injection in Async 
method. 
Though it is possible by configuring a 
_DelegatingSecurityContextAsyncTaskExecutor_ that is a wrapper around a 
_ThreadPoolTaskExecutor_.

Camel platform http starter at the moment only supports 
_ThreadPoolTaskExecutor_ and _SimpleAsyncTaskExecutor_. Support for 
_DelegatingSecurityContextAsyncTaskExecutor_ has to be added and this 
implementation should be prioritized.

Once done, it will be possible to do the following:

* Configure spring security following standards
* configure the wrapper as:

{code:java}
@Bean
    public DelegatingSecurityContextAsyncTaskExecutor 
springSecurityTaskExecutorIntegration(ThreadPoolTaskExecutor taskExecutor) {
        return new DelegatingSecurityContextAsyncTaskExecutor(taskExecutor);
    }
{code}

* Finally _SecurityContextHolder.getContext().getAuthentication().getName()_ 
(in a bean or a processor) will contain the authenticated user name.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to