1 /*
2 * Licensed to the University Corporation for Advanced Internet Development,
3 * Inc. (UCAID) under one or more contributor license agreements. See the
4 * NOTICE file distributed with this work for additional information regarding
5 * copyright ownership. The UCAID licenses this file to You under the Apache
6 * License, Version 2.0 (the "License"); you may not use this file except in
7 * compliance with the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package edu.internet2.middleware.shibboleth.idp.config.profile.authn;
19
20 import edu.internet2.middleware.shibboleth.idp.authn.provider.ExternalAuthnSystemLoginHandler;
21
22 /**
23 * Spring factory for {@link ExternalAuthnSystemLoginHandler}.
24 */
25 public class ExternalAuthnSystemLoginHandlerFactoryBean extends AbstractLoginHandlerFactoryBean {
26
27 /** The context-relative path to the Filter, Servlet, or JSP that triggers the external authentication system. */
28 private String externalAuthnPath;
29
30 /** {@inheritDoc} */
31 public Class getObjectType() {
32 return ExternalAuthnSystemLoginHandler.class;
33 }
34
35 /**
36 * Get context-relative path to the Filter, Servlet, or JSP that triggers the external authentication system.
37 *
38 * @return context-relative path to the Filter, Servlet, or JSP that triggers the external authentication system
39 */
40 public String getExternalAuthnPath() {
41 return externalAuthnPath;
42 }
43
44 /**
45 * Set context-relative path to the Filter, Servlet, or JSP that triggers the external authentication system.
46 *
47 * @param path context-relative path to the Filter, Servlet, or JSP that triggers the external authentication
48 * system, may not be null or empty
49 */
50 public void setExternalAuthnPath(String path) {
51 externalAuthnPath = path;
52 }
53
54 /** {@inheritDoc} */
55 protected Object createInstance() throws Exception {
56 ExternalAuthnSystemLoginHandler handler = new ExternalAuthnSystemLoginHandler();
57 handler.setExternalAuthnPath(getExternalAuthnPath());
58 populateHandler(handler);
59 return handler;
60 }
61 }