1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.openehealth.ipf.boot.atna;
18
19 import org.openehealth.ipf.commons.audit.AuditContext;
20 import org.springframework.boot.actuate.security.AbstractAuthenticationAuditListener;
21 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
22 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
23 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
24 import org.springframework.boot.context.properties.EnableConfigurationProperties;
25 import org.springframework.context.annotation.Bean;
26 import org.springframework.context.annotation.Configuration;
27 import org.springframework.security.authentication.event.AbstractAuthenticationEvent;
28
29
30
31
32 @ConditionalOnClass({AbstractAuthenticationEvent.class})
33 @Configuration
34 @EnableConfigurationProperties(IpfAtnaConfigurationProperties.class)
35 public class IpfAtnaSpringSecurityAutoConfiguration {
36
37 @Bean
38 @ConditionalOnProperty(value = "ipf.atna.auditor-enabled")
39 @ConditionalOnMissingBean(AbstractAuthenticationAuditListener.class)
40 AuthenticationListener loginListener(AuditContext auditContext) {
41 return new AuthenticationListener(auditContext);
42 }
43
44
45 }