View Javadoc

    1   /* Copyright 2004, 2005 Acegi Technology Pty Limited
    2    *
    3    * Licensed under the Apache License, Version 2.0 (the "License");
    4    * you may not use this file except in compliance with the License.
    5    * You may obtain a copy of the License at
    6    *
    7    *     http://www.apache.org/licenses/LICENSE-2.0
    8    *
    9    * Unless required by applicable law or agreed to in writing, software
    10   * distributed under the License is distributed on an "AS IS" BASIS,
    11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12   * See the License for the specific language governing permissions and
    13   * limitations under the License.
    14   */
    15
    16  package org.acegisecurity.context;
    17
    18  import org.acegisecurity.Authentication;
    19
    20  import java.io.Serializable;
    21
    22
    23  /***
    24   * Interface defining the minimum security information associated with the
    25   * current thread of execution.
    26   *
    27   * <p>
    28   * The security context is stored in a {@link SecurityContextHolder}.
    29   * </p>
    30   *
    31   * @author Ben Alex
    32   * @version $Id: SecurityContext.java,v 1.5 2005/11/17 00:55:49 benalex Exp $
    33   */
    34  public interface SecurityContext extends Serializable {
    35      //~ Methods ================================================================
    36
    37      /***
    38       * Changes the currently authenticated principal, or removes the
    39       * authentication information.
    40       *
    41       * @param authentication the new <code>Authentication</code> token, or
    42       *        <code>null</code> if no further authentication information
    43       *        should be stored
    44       */
    45      public void setAuthentication(Authentication authentication);
    46
    47      /***
    48       * Obtains the currently authenticated principal, or an authentication
    49       * request token.
    50       *
    51       * @return the <code>Authentication</code> or <code>null</code> if no
    52       *         authentication information is available
    53       */
    54      public Authentication getAuthentication();
    55  }