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.core.context.SecurityContextHolder;
18 import org.springframework.security.core.context.SecurityContextImpl;
19
20
21
22
23
24
25 public class SpringSecurityContextFactory implements SecurityContextFactory
26 {
27 public SecurityContext create(Authentication authentication)
28 {
29 org.springframework.security.core.context.SecurityContext context = new SecurityContextImpl();
30 context.setAuthentication(((SpringAuthenticationAdapter)authentication).getDelegate());
31
32 if (authentication.getProperties() != null)
33 {
34 if ((authentication.getProperties().containsKey("securityMode")))
35 {
36 SecurityContextHolder.setStrategyName((String)authentication.getProperties().get(
37 "securityMode"));
38 }
39 }
40 SecurityContextHolder.setContext(context);
41 return new SpringSecurityContext(context);
42 }
43 }