1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.spring.security;
12
13 import org.mule.api.security.Authentication;
14 import org.mule.api.security.SecurityContext;
15 import org.mule.api.security.SecurityContextFactory;
16
17 import org.springframework.security.context.SecurityContextHolder;
18 import org.springframework.security.context.SecurityContextImpl;
19
20
21
22
23
24 public class SpringSecurityContextFactory implements SecurityContextFactory
25 {
26 public SecurityContext create(Authentication authentication)
27 {
28 org.springframework.security.context.SecurityContext context = new SecurityContextImpl();
29 context.setAuthentication(((SpringAuthenticationAdapter)authentication).getDelegate());
30
31 if (authentication.getProperties() != null)
32 {
33 if ((authentication.getProperties().containsKey("securityMode")))
34 {
35 SecurityContextHolder.setStrategyName((String)authentication.getProperties().get(
36 "securityMode"));
37 }
38 }
39 SecurityContextHolder.setContext(context);
40 return new SpringSecurityContext(context);
41 }
42 }