samlauthenticationmetadatapopulator.java
来自「CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On 」· Java 代码 · 共 78 行
JAVA
78 行
/* * 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.HashMap;import java.util.Map;import org.jasig.cas.authentication.principal.Credentials;import org.opensaml.SAMLAuthenticationStatement;/** * AuthenticationMetaDataPopulator to retrieve the Authentication Type. * <p> * Note: Authentication Methods are exposed under the key: * <code>samlAuthenticationStatement::authMethod</code> in the Authentication * attributes map. * * @author Scott Battaglia * @version $Revision: 42053 $ $Date: 2007-06-10 09:17:55 -0400 (Sun, 10 Jun 2007) $ * @since 3.1 */public class SamlAuthenticationMetaDataPopulator implements AuthenticationMetaDataPopulator { private static final String ATTRIBUTE_AUTHENTICATION_METHOD = "samlAuthenticationStatement::authMethod"; private Map<String, String> authenticationMethods = new HashMap<String, String>(); public SamlAuthenticationMetaDataPopulator() { this.authenticationMethods .put( "org.jasig.cas.authentication.principal.HttpBasedServiceCredentials", SAMLAuthenticationStatement.AuthenticationMethod_SSL_TLS_Client); this.authenticationMethods .put( "org.jasig.cas.authentication.principal.UsernamePasswordCredentials", SAMLAuthenticationStatement.AuthenticationMethod_Password); this.authenticationMethods .put( "org.jasig.cas.adaptors.trusted.authentication.principal.PrincipalBearingCredentials", SAMLAuthenticationStatement.AuthenticationMethod_Unspecified); this.authenticationMethods .put( "org.jasig.cas.adaptors.x509.authentication.principal.X509CertificateCredentials", SAMLAuthenticationStatement.AuthenticationMethod_X509_PublicKey); } public final Authentication populateAttributes( final Authentication authentication, final Credentials credentials) { final String credentialsClass = credentials.getClass().getName(); final String authenticationMetehod = this.authenticationMethods .get(credentialsClass); authentication.getAttributes().put(ATTRIBUTE_AUTHENTICATION_METHOD, authenticationMetehod); return authentication; } /** * Map of user-defined mappings. Note it is possible to over-ride the * defaults. Mapping should be of the following type: * <p>(<String version of Package/Class Name> <SAML Type>) * <p> * Example: (<"org.jasig.cas.authentication.principal.HttpBasedServiceCredentials"> * <SAMLAuthenticationStatement.AuthenticationMethod_SSL_TLS_Client>) * * @param userDefinedMappings map of user defined authentication types. */ public void setUserDefinedMappings(final Map<String, String> userDefinedMappings) { this.authenticationMethods.putAll(userDefinedMappings); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?