View Javadoc

    1   /*
    2    * Copyright 2008 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.config.profile.authn;
    18
    19  import edu.internet2.middleware.shibboleth.idp.authn.provider.PreviousSessionLoginHandler;
    20
    21  /**
    22   * Spring factory for {@link PreviousSessionLoginHandler}.
    23   */
    24  public class PreviousSessionLoginHandlerFactoryBean extends AbstractLoginHandlerFactoryBean {
    25
    26      /** Path to protected servlet. */
    27      private String servletPath;
    28
    29      /** Whether the login handler supports passive authentication. */
    30      private boolean supportPassiveAuth;
    31
    32      /** Whether the login handler will report its authentication method as PreviousSession. */
    33      private boolean reportPreviousSessionAuthnMethod;
    34
    35      /** {@inheritDoc} */
    36      public Class getObjectType() {
    37          return PreviousSessionLoginHandler.class;
    38      }
    39
    40      /**
    41       * Gets the path of the servlet to which the user agent may be redirected.
    42       *
    43       * @return path of the servlet to which the user agent may be redirected
    44       */
    45      public String getServletPath() {
    46          return servletPath;
    47      }
    48
    49      /**
    50       * Sets the path of the servlet to which the user agent may be redirected.
    51       *
    52       * @param path path of the servlet to which the user agent may be redirected
    53       */
    54      public void setServletPath(String path) {
    55          servletPath = path;
    56      }
    57
    58      /**
    59       * Gets whether the login handler supports passive authentication.
    60       *
    61       * @return whether the login handler supports passive authentication
    62       */
    63      public boolean supportsPassiveAuth() {
    64          return supportPassiveAuth;
    65      }
    66
    67      /**
    68       * Sets whether the login handler supports passive authentication.
    69       *
    70       * @param supported whether the login handler supports passive authentication
    71       */
    72      public void setSupportsPassiveAuth(boolean supported) {
    73          supportPassiveAuth = supported;
    74      }
    75
    76      /**
    77       * Gets whether the login handler will report its authentication method as PreviousSession.
    78       *
    79       * @return whether the login handler will report its authentication method as PreviousSession
    80       */
    81      public boolean reportPreviousSessionAuthnMethod() {
    82          return reportPreviousSessionAuthnMethod;
    83      }
    84
    85      /**
    86       * Sets whether the login handler will report its authentication method as PreviousSession.
    87       *
    88       * @param report whether the login handler will report its authentication method as PreviousSession
    89       */
    90      public void setReportPreviousSessionAuthnMethod(boolean report) {
    91          reportPreviousSessionAuthnMethod = report;
    92      }
    93
    94      /** {@inheritDoc} */
    95      protected Object createInstance() throws Exception {
    96          PreviousSessionLoginHandler handler = new PreviousSessionLoginHandler();
    97          handler.setServletPath(getServletPath());
    98          handler.setSupportsPassive(supportsPassiveAuth());
    99          handler.setReportPreviousSessionAuthnMethod(reportPreviousSessionAuthnMethod());
    100         populateHandler(handler);
    101         return handler;
    102     }
    103 }