本文整理汇总了Java中org.jasig.cas.authentication.CredentialMetaData类的典型用法代码示例。如果您正苦于以下问题:Java CredentialMetaData类的具体用法?Java CredentialMetaData怎么用?Java CredentialMetaData使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CredentialMetaData类属于org.jasig.cas.authentication包,在下文中一共展示了CredentialMetaData类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: MockTicketGrantingTicket
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
public MockTicketGrantingTicket(final String id, final Credential credential, final Map<String, Object> principalAttributes) {
this.id = id;
final CredentialMetaData credentialMetaData = new BasicCredentialMetaData(credential);
final DefaultAuthenticationBuilder builder = new DefaultAuthenticationBuilder();
builder.setPrincipal(this.principalFactory.createPrincipal(USERNAME, principalAttributes));
builder.setAuthenticationDate(new Date());
builder.addCredential(credentialMetaData);
builder.addAttribute(RememberMeCredential.AUTHENTICATION_ATTRIBUTE_REMEMBER_ME, Boolean.TRUE);
final AuthenticationHandler handler = new MockAuthenticationHandler();
try {
builder.addSuccess(handler.getName(), handler.authenticate(credential));
} catch (final Exception e) {
throw new RuntimeException(e);
}
builder.addFailure(handler.getName(), FailedLoginException.class);
this.authentication = builder.build();
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:18,代码来源:KryoTranscoderTests.java
示例2: MockTicketGrantingTicket
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
public MockTicketGrantingTicket(final String id, final Credential credential) {
this.id = id;
final CredentialMetaData credentialMetaData = new BasicCredentialMetaData(credential);
final AuthenticationBuilder builder = new AuthenticationBuilder();
final Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("nickname", "bob");
builder.setPrincipal(new SimplePrincipal("handymanbob", attributes));
builder.setAuthenticationDate(new Date());
builder.addCredential(credentialMetaData);
final AuthenticationHandler handler = new MockAuthenticationHandler();
try {
builder.addSuccess(handler.getName(), handler.authenticate(credential));
} catch (final Exception e) {
throw new RuntimeException(e);
}
builder.addFailure(handler.getName(), FailedLoginException.class);
this.authentication = builder.build();
}
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:19,代码来源:KryoTranscoderTests.java
示例3: MockTicketGrantingTicket
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
MockTicketGrantingTicket(final String id, final Credential credential, final Map<String, Object> principalAttributes) {
this.id = id;
final CredentialMetaData credentialMetaData = new BasicCredentialMetaData(credential);
final AuthenticationBuilder builder = new DefaultAuthenticationBuilder();
builder.setPrincipal(this.principalFactory.createPrincipal(USERNAME, principalAttributes));
builder.setAuthenticationDate(new DateTime());
builder.addCredential(credentialMetaData);
builder.addAttribute(RememberMeCredential.AUTHENTICATION_ATTRIBUTE_REMEMBER_ME, Boolean.TRUE);
final AuthenticationHandler handler = new MockAuthenticationHandler();
try {
builder.addSuccess(handler.getName(), handler.authenticate(credential));
} catch (final Exception e) {
throw new RuntimeException(e);
}
builder.addFailure(handler.getName(), FailedLoginException.class);
this.authentication = builder.build();
}
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:18,代码来源:KryoTranscoderTests.java
示例4: MockTicketGrantingTicket
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
MockTicketGrantingTicket(final String id, final Credential credential, final Map<String, Object> principalAttributes) {
this.id = id;
final CredentialMetaData credentialMetaData = new BasicCredentialMetaData(credential);
final DefaultAuthenticationBuilder builder = new DefaultAuthenticationBuilder();
builder.setPrincipal(this.principalFactory.createPrincipal(USERNAME, principalAttributes));
builder.setAuthenticationDate(new Date());
builder.addCredential(credentialMetaData);
builder.addAttribute(RememberMeCredential.AUTHENTICATION_ATTRIBUTE_REMEMBER_ME, Boolean.TRUE);
final AuthenticationHandler handler = new MockAuthenticationHandler();
try {
builder.addSuccess(handler.getName(), handler.authenticate(credential));
} catch (final Exception e) {
throw new RuntimeException(e);
}
builder.addFailure(handler.getName(), FailedLoginException.class);
this.authentication = builder.build();
}
开发者ID:xuchengdong,项目名称:cas4.1.9,代码行数:18,代码来源:KryoTranscoderTests.java
示例5: newBuilder
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
private AuthenticationBuilder newBuilder(final Credential credential) {
final CredentialMetaData meta = new BasicCredentialMetaData(new UsernamePasswordCredential());
final AuthenticationHandler handler = new SimpleTestUsernamePasswordAuthenticationHandler();
final AuthenticationBuilder builder = new DefaultAuthenticationBuilder(TestUtils.getPrincipal())
.addCredential(meta)
.addSuccess("test", new DefaultHandlerResult(handler, meta));
if (this.p.supports(credential)) {
this.p.populateAttributes(builder, credential);
}
return builder;
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:13,代码来源:RememberMeAuthenticationMetaDataPopulatorTests.java
示例6: newAuthenticationBuilder
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
private static AuthenticationBuilder newAuthenticationBuilder(final Principal principal) {
final CredentialMetaData meta = new BasicCredentialMetaData(new UsernamePasswordCredential());
final AuthenticationHandler handler = new SimpleTestUsernamePasswordAuthenticationHandler();
return new DefaultAuthenticationBuilder(principal)
.addCredential(meta)
.addSuccess("test", new DefaultHandlerResult(handler, meta));
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:8,代码来源:SamlAuthenticationMetaDataPopulatorTests.java
示例7: MockTicketGrantingTicket
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
public MockTicketGrantingTicket(final String principal, final Credential c, final Map attributes) {
id = ID_GENERATOR.getNewTicketId("TGT");
final CredentialMetaData metaData = new BasicCredentialMetaData(c);
authentication = new DefaultAuthenticationBuilder(
new DefaultPrincipalFactory().createPrincipal(principal, attributes))
.addCredential(metaData)
.addSuccess(SimpleTestUsernamePasswordAuthenticationHandler.class.getName(),
new DefaultHandlerResult(new SimpleTestUsernamePasswordAuthenticationHandler(), metaData))
.build();
created = new Date();
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:13,代码来源:MockTicketGrantingTicket.java
示例8: MockTicketGrantingTicket
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
public MockTicketGrantingTicket(final String principal) {
id = ID_GENERATOR.getNewTicketId("TGT");
final CredentialMetaData metaData = new BasicCredentialMetaData(
TestUtils.getCredentialsWithSameUsernameAndPassword());
authentication = new DefaultAuthenticationBuilder(new DefaultPrincipalFactory().createPrincipal(principal))
.addCredential(metaData)
.addSuccess(SimpleTestUsernamePasswordAuthenticationHandler.class.getName(),
new DefaultHandlerResult(new SimpleTestUsernamePasswordAuthenticationHandler(), metaData))
.build();
created = new Date();
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:13,代码来源:MockTicketGrantingTicket.java
示例9: getAuthentication
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
public static Authentication getAuthentication(final Principal principal, final Map<String, Object> attributes) {
final AuthenticationHandler handler = new SimpleTestUsernamePasswordAuthenticationHandler();
final CredentialMetaData meta = new BasicCredentialMetaData(new UsernamePasswordCredential());
return new DefaultAuthenticationBuilder(principal)
.addCredential(meta)
.addSuccess("testHandler", new DefaultHandlerResult(handler, meta))
.setAttributes(attributes)
.build();
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:10,代码来源:TestUtils.java
示例10: newAuthenticationBuilder
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
private static AuthenticationBuilder newAuthenticationBuilder(final Principal principal) {
final CredentialMetaData meta = new BasicCredentialMetaData(new UsernamePasswordCredential());
final AuthenticationHandler handler = new SimpleTestUsernamePasswordAuthenticationHandler();
return new AuthenticationBuilder(principal)
.addCredential(meta)
.addSuccess("test", new HandlerResult(handler, meta));
}
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:8,代码来源:SamlAuthenticationMetaDataPopulatorTests.java
示例11: newBuilder
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
private AuthenticationBuilder newBuilder(final Credential credential) {
final CredentialMetaData meta = new BasicCredentialMetaData(new UsernamePasswordCredential());
final AuthenticationHandler handler = new SimpleTestUsernamePasswordAuthenticationHandler();
final AuthenticationBuilder builder = new AuthenticationBuilder(TestUtils.getPrincipal())
.addCredential(meta)
.addSuccess("test", new HandlerResult(handler, meta));
this.p.populateAttributes(builder, credential);
return builder;
}
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:11,代码来源:RememberMeAuthenticationMetaDataPopulatorTests.java
示例12: getAuthentication
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
public static Authentication getAuthentication(final Principal principal, final Map<String, Object> attributes) {
final AuthenticationHandler handler = new SimpleTestUsernamePasswordAuthenticationHandler();
final CredentialMetaData meta = new BasicCredentialMetaData(new UsernamePasswordCredential());
return new AuthenticationBuilder(principal)
.addCredential(meta)
.addSuccess("testHandler", new HandlerResult(handler, meta))
.setAttributes(attributes)
.build();
}
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:10,代码来源:TestUtils.java
示例13: MockTicketGrantingTicket
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
public MockTicketGrantingTicket(final String principal) {
id = ID_GENERATOR.getNewTicketId("TGT");
final CredentialMetaData metaData = new BasicCredentialMetaData(
org.jasig.cas.authentication.TestUtils.getCredentialsWithSameUsernameAndPassword());
authentication = new DefaultAuthenticationBuilder(new DefaultPrincipalFactory().createPrincipal(principal))
.addCredential(metaData)
.addSuccess(SimpleTestUsernamePasswordAuthenticationHandler.class.getName(),
new DefaultHandlerResult(new SimpleTestUsernamePasswordAuthenticationHandler(), metaData))
.build();
created = new Date();
}
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:13,代码来源:MockTicketGrantingTicket.java
示例14: DefaultCompositeAuthentication
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
/**
* Initialize this instance with a principal and given authentication attributes.
*
* @param p the principal
* @param attributes attributes for this authentication
* @param credentials the credentials
* @param successes the successes
* @param failures the failures
*/
public DefaultCompositeAuthentication(final Principal p, final Map<String, Object> attributes,
final List<CredentialMetaData> credentials,
final Map<String, HandlerResult> successes,
final Map<String, Class<? extends Exception>> failures) {
this.principal = p;
this.authenticationAttributes = attributes;
this.credentials = credentials;
this.successes = successes;
this.failures = failures;
}
开发者ID:Unicon,项目名称:cas-mfa,代码行数:20,代码来源:DefaultCompositeAuthentication.java
示例15: prepareNewCAS
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
@Before
public void prepareNewCAS() throws Exception {
this.authentication = mock(Authentication.class);
when(this.authentication.getAuthenticationDate()).thenReturn(DateTime.now());
final CredentialMetaData metadata = new BasicCredentialMetaData(TestUtils.getCredentialsWithSameUsernameAndPassword("principal"));
final Map<String, HandlerResult> successes = new HashMap<>();
successes.put("handler1", new DefaultHandlerResult(mock(AuthenticationHandler.class), metadata));
when(this.authentication.getCredentials()).thenReturn(Arrays.asList(metadata));
when(this.authentication.getSuccesses()).thenReturn(successes);
when(this.authentication.getPrincipal()).thenReturn(new DefaultPrincipalFactory().createPrincipal(PRINCIPAL));
final Service service1 = getService(SVC1_ID);
final ServiceTicket stMock = createMockServiceTicket(ST_ID, service1);
final TicketGrantingTicket tgtRootMock = createRootTicketGrantingTicket();
final TicketGrantingTicket tgtMock = createMockTicketGrantingTicket(TGT_ID, stMock, false,
tgtRootMock, new ArrayList<Authentication>());
when(tgtMock.getProxiedBy()).thenReturn(getService("proxiedBy"));
final List<Authentication> authnListMock = mock(List.class);
//Size is required to be 2, so that we can simulate proxying capabilities
when(authnListMock.size()).thenReturn(2);
when(authnListMock.get(anyInt())).thenReturn(this.authentication);
when(tgtMock.getChainedAuthentications()).thenReturn(authnListMock);
when(stMock.getGrantingTicket()).thenReturn(tgtMock);
final Service service2 = getService(SVC2_ID);
final ServiceTicket stMock2 = createMockServiceTicket(ST2_ID, service2);
final TicketGrantingTicket tgtMock2 = createMockTicketGrantingTicket(TGT2_ID, stMock2, false, tgtRootMock, authnListMock);
//Mock TicketRegistry
mockTicketRegistry(stMock, tgtMock, stMock2, tgtMock2);
//Mock ServicesManager
final ServicesManager smMock = getServicesManager(service1, service2);
final DefaultTicketFactory factory = new DefaultTicketFactory();
factory.setTicketGrantingTicketFactory(new DefaultTicketGrantingTicketFactory());
factory.setProxyGrantingTicketFactory(new DefaultProxyGrantingTicketFactory());
factory.setServiceTicketFactory(new DefaultServiceTicketFactory());
factory.setProxyTicketFactory(new DefaultProxyTicketFactory());
factory.initialize();
this.cas = new CentralAuthenticationServiceImpl(ticketRegMock,
factory, smMock, mock(LogoutManager.class));
this.cas.setApplicationEventPublisher(mock(ApplicationEventPublisher.class));
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:51,代码来源:CentralAuthenticationServiceImplWithMockitoTests.java
示例16: prepareNewCAS
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
@Before
public void prepareNewCAS() {
this.authentication = mock(Authentication.class);
when(this.authentication.getAuthenticationDate()).thenReturn(new Date());
final CredentialMetaData metadata = new BasicCredentialMetaData(TestUtils.getCredentialsWithSameUsernameAndPassword("principal"));
final Map<String, HandlerResult> successes = new HashMap<>();
successes.put("handler1", new DefaultHandlerResult(mock(AuthenticationHandler.class), metadata));
when(this.authentication.getCredentials()).thenReturn(Arrays.asList(metadata));
when(this.authentication.getSuccesses()).thenReturn(successes);
when(this.authentication.getPrincipal()).thenReturn(new DefaultPrincipalFactory().createPrincipal(PRINCIPAL));
final Service service1 = TestUtils.getService(SVC1_ID);
final ServiceTicket stMock = createMockServiceTicket(ST_ID, service1);
final TicketGrantingTicket tgtRootMock = createRootTicketGrantingTicket();
final TicketGrantingTicket tgtMock = createMockTicketGrantingTicket(TGT_ID, stMock, false,
tgtRootMock, new ArrayList<Authentication>());
when(tgtMock.getProxiedBy()).thenReturn(TestUtils.getService("proxiedBy"));
final List<Authentication> authnListMock = mock(List.class);
//Size is required to be 2, so that we can simulate proxying capabilities
when(authnListMock.size()).thenReturn(2);
when(authnListMock.get(anyInt())).thenReturn(this.authentication);
when(tgtMock.getChainedAuthentications()).thenReturn(authnListMock);
when(stMock.getGrantingTicket()).thenReturn(tgtMock);
final Service service2 = TestUtils.getService(SVC2_ID);
final ServiceTicket stMock2 = createMockServiceTicket(ST2_ID, service2);
final TicketGrantingTicket tgtMock2 = createMockTicketGrantingTicket(TGT2_ID, stMock2, false, tgtRootMock, authnListMock);
//Mock TicketRegistry
this.ticketRegMock = mock(TicketRegistry.class);
when(ticketRegMock.getTicket(eq(tgtMock.getId()), eq(TicketGrantingTicket.class))).thenReturn(tgtMock);
when(ticketRegMock.getTicket(eq(tgtMock2.getId()), eq(TicketGrantingTicket.class))).thenReturn(tgtMock2);
when(ticketRegMock.getTicket(eq(stMock.getId()), eq(ServiceTicket.class))).thenReturn(stMock);
when(ticketRegMock.getTicket(eq(stMock2.getId()), eq(ServiceTicket.class))).thenReturn(stMock2);
when(ticketRegMock.getTickets()).thenReturn(Arrays.asList(tgtMock, tgtMock2, stMock, stMock2));
//Mock ServicesManager
final RegisteredService mockRegSvc1 = createMockRegisteredService(service1.getId(), true, getServiceProxyPolicy(false));
final RegisteredService mockRegSvc2 = createMockRegisteredService("test", false, getServiceProxyPolicy(true));
final RegisteredService mockRegSvc3 = createMockRegisteredService(service2.getId(), true, getServiceProxyPolicy(true));
final ServicesManager smMock = mock(ServicesManager.class);
when(smMock.findServiceBy(argThat(new VerifyServiceByIdMatcher(service1.getId())))).thenReturn(mockRegSvc1);
when(smMock.findServiceBy(argThat(new VerifyServiceByIdMatcher("test")))).thenReturn(mockRegSvc2);
when(smMock.findServiceBy(argThat(new VerifyServiceByIdMatcher(service2.getId())))).thenReturn(mockRegSvc3);
final Map ticketIdGenForServiceMock = mock(Map.class);
when(ticketIdGenForServiceMock.containsKey(any())).thenReturn(true);
when(ticketIdGenForServiceMock.get(any())).thenReturn(new DefaultUniqueTicketIdGenerator());
this.cas = new CentralAuthenticationServiceImpl(ticketRegMock, null, mock(AuthenticationManager.class),
mock(UniqueTicketIdGenerator.class), ticketIdGenForServiceMock, mock(ExpirationPolicy.class),
mock(ExpirationPolicy.class), smMock, mock(LogoutManager.class));
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:59,代码来源:CentralAuthenticationServiceImplWithMockitoTests.java
示例17: prepareNewCAS
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
@Before
public void prepareNewCAS() {
this.authentication = mock(Authentication.class);
when(this.authentication.getAuthenticationDate()).thenReturn(new Date());
final CredentialMetaData metadata = new BasicCredentialMetaData(TestUtils.getCredentialsWithSameUsernameAndPassword("principal"));
final Map<String, HandlerResult> successes = new HashMap<>();
successes.put("handler1", new DefaultHandlerResult(mock(AuthenticationHandler.class), metadata));
when(this.authentication.getCredentials()).thenReturn(Arrays.asList(metadata));
when(this.authentication.getSuccesses()).thenReturn(successes);
when(this.authentication.getPrincipal()).thenReturn(new DefaultPrincipalFactory().createPrincipal(PRINCIPAL));
final Service service1 = TestUtils.getService(SVC1_ID);
final ServiceTicket stMock = createMockServiceTicket(ST_ID, service1);
final TicketGrantingTicket tgtRootMock = createRootTicketGrantingTicket();
final TicketGrantingTicket tgtMock = createMockTicketGrantingTicket(TGT_ID, stMock, false,
tgtRootMock, new ArrayList<Authentication>());
when(tgtMock.getProxiedBy()).thenReturn(TestUtils.getService("proxiedBy"));
final List<Authentication> authnListMock = mock(List.class);
//Size is required to be 2, so that we can simulate proxying capabilities
when(authnListMock.size()).thenReturn(2);
when(authnListMock.get(anyInt())).thenReturn(this.authentication);
when(tgtMock.getChainedAuthentications()).thenReturn(authnListMock);
when(stMock.getGrantingTicket()).thenReturn(tgtMock);
final Service service2 = TestUtils.getService(SVC2_ID);
final ServiceTicket stMock2 = createMockServiceTicket(ST2_ID, service2);
final TicketGrantingTicket tgtMock2 = createMockTicketGrantingTicket(TGT2_ID, stMock2, false, tgtRootMock, authnListMock);
//Mock TicketRegistry
this.ticketRegMock = mock(TicketRegistry.class);
when(ticketRegMock.getTicket(eq(tgtMock.getId()), eq(TicketGrantingTicket.class))).thenReturn(tgtMock);
when(ticketRegMock.getTicket(eq(tgtMock2.getId()), eq(TicketGrantingTicket.class))).thenReturn(tgtMock2);
when(ticketRegMock.getTicket(eq(stMock.getId()), eq(ServiceTicket.class))).thenReturn(stMock);
when(ticketRegMock.getTicket(eq(stMock2.getId()), eq(ServiceTicket.class))).thenReturn(stMock2);
when(ticketRegMock.getTickets()).thenReturn(Arrays.asList(tgtMock, tgtMock2, stMock, stMock2));
//Mock ServicesManager
final RegisteredService mockRegSvc1 = createMockRegisteredService(service1.getId(), true, getServiceProxyPolicy(false));
final RegisteredService mockRegSvc2 = createMockRegisteredService("test", false, getServiceProxyPolicy(true));
final RegisteredService mockRegSvc3 = createMockRegisteredService(service2.getId(), true, getServiceProxyPolicy(true));
final ServicesManager smMock = mock(ServicesManager.class);
when(smMock.findServiceBy(argThat(new VerifyServiceByIdMatcher(service1.getId())))).thenReturn(mockRegSvc1);
when(smMock.findServiceBy(argThat(new VerifyServiceByIdMatcher("test")))).thenReturn(mockRegSvc2);
when(smMock.findServiceBy(argThat(new VerifyServiceByIdMatcher(service2.getId())))).thenReturn(mockRegSvc3);
final Map ticketIdGenForServiceMock = mock(Map.class);
when(ticketIdGenForServiceMock.containsKey(any())).thenReturn(true);
when(ticketIdGenForServiceMock.get(any())).thenReturn(new DefaultUniqueTicketIdGenerator());
this.cas = new CentralAuthenticationServiceImpl(ticketRegMock, mock(AuthenticationManager.class),
mock(UniqueTicketIdGenerator.class), ticketIdGenForServiceMock, mock(ExpirationPolicy.class),
mock(ExpirationPolicy.class), smMock, mock(LogoutManager.class));
}
开发者ID:xuchengdong,项目名称:cas4.1.9,代码行数:59,代码来源:CentralAuthenticationServiceImplWithMockitoTests.java
示例18: getAuthentication
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
/**
* Creates an instance of the {@link net.unicon.cas.mfa.authentication.CompositeAuthentication} object that collects
* and harmonizes all principal and authentication attributes into one context.
*
* <p>Principal attributes are merged from all principals that are already resolved in the authentication chain.
* Attributes with the same name that belong to the same principal are merged into one, with the latter value
* overwriting the first. The established principal will be one that is based of {@link Principal}.</p>
*
* <p>Authentication attributes are merged from all authentications that make up the chain.
* The merging strategy is such that duplicate attribute names are grouped together into an instance of
* a {@link Collection} implementation and preserved.
* @return an instance of {@link net.unicon.cas.mfa.authentication.CompositeAuthentication}
*/
public final Authentication getAuthentication() {
if (!isEmpty()) {
/**
* Principal id is and must be enforced to be the same for all authentication contexts.
* Based on that restriction, it's safe to simply grab the first principal id in the chain
* when composing the authentication chain for the caller.
*/
final String principalId = this.chainedAuthentication.get(0).getPrincipal().getId();
final Map<String, Object> principalAttributes = new HashMap<>();
final Map<String, Object> authenticationAttributes = new HashMap<>();
final List<CredentialMetaData> credentials = new ArrayList<>();
final Map<String, HandlerResult> successes = new LinkedHashMap<>();
final Map<String, Class<? extends Exception>> failures = new LinkedHashMap<>();
for (final Authentication authn : this.chainedAuthentication) {
final Principal authenticatedPrincipal = authn.getPrincipal();
principalAttributes.putAll(authenticatedPrincipal.getAttributes());
credentials.addAll(authn.getCredentials());
successes.putAll(authn.getSuccesses());
failures.putAll(authn.getFailures());
for (final String attrName : authn.getAttributes().keySet()) {
if (!authenticationAttributes.containsKey(attrName)) {
authenticationAttributes.put(attrName, authn.getAttributes().get(attrName));
} else {
final Object oldValue = authenticationAttributes.remove(attrName);
final Collection<Object> listOfValues = MultiFactorUtils.convertValueToCollection(oldValue);
listOfValues.add(authn.getAttributes().get(attrName));
authenticationAttributes.put(attrName, listOfValues);
}
}
}
final Principal compositePrincipal = principalFactory.createPrincipal(principalId, principalAttributes);
final DefaultCompositeAuthentication finalAuth =
new DefaultCompositeAuthentication(compositePrincipal,
authenticationAttributes, credentials, successes, failures);
return finalAuth;
}
return null;
}
开发者ID:Unicon,项目名称:cas-mfa,代码行数:59,代码来源:MultiFactorCredentials.java
示例19: getCredentials
import org.jasig.cas.authentication.CredentialMetaData; //导入依赖的package包/类
@Override
public List<CredentialMetaData> getCredentials() {
return this.credentials;
}
开发者ID:Unicon,项目名称:cas-mfa,代码行数:5,代码来源:DefaultCompositeAuthentication.java
注:本文中的org.jasig.cas.authentication.CredentialMetaData类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论