1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package edu.internet2.middleware.shibboleth.idp.config.profile.authn;
19
20 import javax.xml.namespace.QName;
21
22 import org.opensaml.xml.util.DatatypeHelper;
23 import org.slf4j.Logger;
24 import org.slf4j.LoggerFactory;
25 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
26 import org.w3c.dom.Element;
27
28 import edu.internet2.middleware.shibboleth.idp.config.profile.ProfileHandlerNamespaceHandler;
29
30
31
32
33 public class UsernamePasswordLoginHandlerBeanDefinitionParser extends AbstractLoginHandlerBeanDefinitionParser {
34
35
36 public static final QName SCHEMA_TYPE = new QName(ProfileHandlerNamespaceHandler.NAMESPACE, "UsernamePassword");
37
38
39 private final Logger log = LoggerFactory.getLogger(UsernamePasswordLoginHandlerBeanDefinitionParser.class);
40
41
42 protected Class getBeanClass(Element element) {
43 return UsernamePasswordLoginHandlerFactoryBean.class;
44 }
45
46
47 protected void doParse(Element config, BeanDefinitionBuilder builder) {
48 super.doParse(config, builder);
49
50 if (config.hasAttributeNS(null, "authenticationServletURL")) {
51 builder.addPropertyValue("authenticationServletURL", DatatypeHelper.safeTrim(config.getAttributeNS(null,
52 "authenticationServletURL")));
53 } else {
54 builder.addPropertyValue("authenticationServletURL", "/Authn/UserPassword");
55 }
56
57 String jaasConfigurationURL = DatatypeHelper.safeTrim(config.getAttributeNS(null, "jaasConfigurationLocation"));
58 log.debug("Setting JAAS configuration file to: {}", jaasConfigurationURL);
59 System.setProperty("java.security.auth.login.config", jaasConfigurationURL);
60 }
61 }