1 /* 2 * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.] 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package edu.internet2.middleware.shibboleth.idp.authn.provider; 18 19 import java.util.ArrayList; 20 import java.util.List; 21 22 import edu.internet2.middleware.shibboleth.idp.authn.LoginHandler; 23 24 /** 25 * Base class for authentication handlers. 26 */ 27 public abstract class AbstractLoginHandler implements LoginHandler { 28 29 /** Authentication methods this handler supports. */ 30 private ArrayList<String> supportedAuthenticationMethods; 31 32 /** Length of time, in milliseconds, after which a user should be re-authenticated. */ 33 private long authenticationDuration; 34 35 /** Whether this handler supports foreced re-authentication. */ 36 private boolean supportsForceAuthentication; 37 38 /** Whether this handler supports passive authentication. */ 39 private boolean supportsPassive; 40 41 /** Constructor. */ 42 protected AbstractLoginHandler(){ 43 supportedAuthenticationMethods = new ArrayList<String>(); 44 supportsForceAuthentication = false; 45 supportsPassive = false; 46 } 47 48 /** {@inheritDoc} */ 49 public List<String> getSupportedAuthenticationMethods() { 50 return supportedAuthenticationMethods; 51 } 52 53 /** {@inheritDoc} */ 54 public long getAuthenticationDuration() { 55 return authenticationDuration; 56 } 57 58 /** 59 * Sets the length of time, in milliseconds, after which a user should be re-authenticated. 60 * 61 * @param duration length of time, in milliseconds, after which a user should be re-authenticated 62 */ 63 public void setAuthenticationDuration(long duration) { 64 authenticationDuration = duration; 65 } 66 67 /** 68 * Sets the length of time, in milliseconds, after which a user should be re-authenticated. 69 * 70 * @param duration length of time, in milliseconds, after which a user should be re-authenticated 71 * 72 * @deprecated use {@link #setAuthenticationDuration(long)} 73 */ 74 public void setAuthenticationDurection(long duration) { 75 authenticationDuration = duration; 76 } 77 78 /** {@inheritDoc} */ 79 public boolean supportsForceAuthentication() { 80 return supportsForceAuthentication; 81 } 82 83 /** 84 * Sets whether this handler supports forced re-authentication. 85 * 86 * @param supported whether this handler supports forced re-authentication 87 */ 88 public void setSupportsForceAuthentication(boolean supported) { 89 supportsForceAuthentication = supported; 90 } 91 92 /** {@inheritDoc} */ 93 public boolean supportsPassive() { 94 return supportsPassive; 95 } 96 97 /** 98 * Sets whether this handler supports passive authentication. 99 * 100 * @param supported whether this handler supports passive authentication. 101 */ 102 public void setSupportsPassive(boolean supported) { 103 supportsPassive = supported; 104 } 105 }