x509certificatecredentialstoidentifierprincipalresolver.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.adaptors.x509.authentication.principal;import java.security.cert.X509Certificate;import org.jasig.cas.util.annotation.NotNull;/** * @author Anders Svensson * @author Scott Battaglia * @version $Revision: 42233 $ $Date: 2007-07-18 15:15:07 -0400 (Wed, 18 Jul 2007) $ * @since 3.0.4 */public final class X509CertificateCredentialsToIdentifierPrincipalResolver extends    AbstractX509CertificateCredentialsToPrincipalResolver {    private static final String DEFAULT_IDENTIFIER = "$OU $CN";    private static final String ENTRIES_DELIMITER = ",";    private static final String NAME_VALUE_PAIR_DELIMITER = "=";    /** The identifier meta data */    @NotNull    private String identifier = DEFAULT_IDENTIFIER;    protected String resolvePrincipalInternal(        final X509Certificate certificate) {        String username = this.identifier;                if (log.isInfoEnabled()) {            log.info("Creating principal for: " + certificate.getSubjectDN().getName());        }        final String[] entries = certificate.getSubjectDN().getName().split(            ENTRIES_DELIMITER);                for (final String val : entries) {            final String[] nameValuePair = val                .split(NAME_VALUE_PAIR_DELIMITER);            final String name = nameValuePair[0].trim();            final String value = nameValuePair[1];            if (log.isDebugEnabled()) {                log.debug("Parsed " + name + " - " + value);            }            username = username.replaceAll("\\$" + name, value);        }                if (this.identifier.equals(username)) {            return null;        }        return username;    }        public void setIdentifier(final String identifier) {        this.identifier = identifier;    }}

⌨️ 快捷键说明

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