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 + -
显示快捷键?