immutableauthentication.java

来自「CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On 」· Java 代码 · 共 66 行

JAVA
66
字号
/* * Copyright 2007 The JA-SIG Collaborative. All rights reserved. See license * distributed with this file and available online at * http://www.ja-sig.org/products/cas/overview/license/ */package org.jasig.cas.authentication;import java.util.Collections;import java.util.Date;import java.util.HashMap;import java.util.Map;import org.jasig.cas.authentication.principal.Principal;/** * Default implementation of Authentication interface. ImmutableAuthentication * is an immutable object and thus its attributes cannot be changed. * <p> * Instanciators of the ImmutableAuthentication class must take care that the * map they provide is serializable (i.e. HashMap). *  * @author Dmitriy Kopylenko * @author Scott Battaglia * @version $Revision: 42053 $ $Date: 2007-06-10 09:17:55 -0400 (Sun, 10 Jun 2007) $ * @since 3.0 */public final class ImmutableAuthentication extends AbstractAuthentication {    /** UID for serializing. */    private static final long serialVersionUID = 3906647483978365235L;        private static final Map<String, Object> EMPTY_MAP = Collections.unmodifiableMap(new HashMap<String, Object>());    /** The date/time this authentication object became valid. */    final Date authenticatedDate;    /**     * Constructor that accepts both a principal and a map.     *      * @param principal Principal representing user     * @param attributes Authentication attributes map.     * @throws IllegalArgumentException if the principal is null.     */    public ImmutableAuthentication(final Principal principal,        final Map<String, Object> attributes) {        super(principal, attributes == null || attributes.isEmpty()            ? EMPTY_MAP : Collections.unmodifiableMap(attributes));        this.authenticatedDate = new Date();    }    /**     * Constructor that assumes there are no additional authentication     * attributes.     *      * @param principal the Principal representing the authenticated entity.     */    public ImmutableAuthentication(final Principal principal) {        this(principal, null);    }    public Date getAuthenticatedDate() {        return new Date(this.authenticatedDate.getTime());    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?