use of org.mule.runtime.api.security.SecurityContext in project mule by mulesoft.
the class MuleEventTestCase method securityContextCopy.
@Test
public void securityContextCopy() throws Exception {
SecurityContext securityContext = mock(SecurityContext.class);
CoreEvent event = CoreEvent.builder(testEvent()).securityContext(securityContext).build();
CoreEvent eventCopy = CoreEvent.builder(event).message(Message.of("copy")).build();
assertThat(securityContext, sameInstance(eventCopy.getSecurityContext()));
}
use of org.mule.runtime.api.security.SecurityContext in project mule by mulesoft.
the class DefaultEventBuilder method securityContext.
@Override
public DefaultEventBuilder securityContext(SecurityContext securityContext) {
SecurityContext originalValue = this.securityContext;
this.securityContext = securityContext;
this.modified = originalValue != securityContext;
return this;
}
use of org.mule.runtime.api.security.SecurityContext in project mule by mulesoft.
the class UsernamePasswordAuthenticationFilter method authenticate.
/**
* Authenticates the current message.
*
* @param event the current message recieved
* @throws SecurityException if authentication fails
*/
@Override
public SecurityContext authenticate(CoreEvent event) throws SecurityException, SecurityProviderNotFoundException, UnknownAuthenticationTypeException {
Authentication authentication = getAuthenticationToken(event);
Authentication authResult;
try {
authResult = getSecurityManager().authenticate(authentication);
} catch (UnauthorisedException e) {
// Authentication failed
if (logger.isDebugEnabled()) {
logger.debug("Authentication request for user: " + username + " failed: " + e.toString());
}
throw new UnauthorisedException(authFailedForUser(authentication.getPrincipal().toString()), e);
}
// Authentication success
if (logger.isDebugEnabled()) {
logger.debug("Authentication success: " + authResult.toString());
}
SecurityContext context = getSecurityManager().createSecurityContext(authResult);
context.setAuthentication(authResult);
return context;
}
use of org.mule.runtime.api.security.SecurityContext in project mule by mulesoft.
the class PetstoreSecurityContextTestCase method filteredProvidersExpectedException.
@Test
public void filteredProvidersExpectedException() throws Exception {
expectedException.expectCause(instanceOf(SecurityProviderNotFoundException.class));
SecurityContext context = flowRunner("setSecureCageFilterProviders").withVariable("providers", asList("Invalid")).run().getSecurityContext();
assertThat(context, is(notNullValue()));
assertThat(context, is(securityContext));
}
use of org.mule.runtime.api.security.SecurityContext in project mule by mulesoft.
the class MuleEncryptionEndpointSecurityFilter method authenticateInbound.
@Override
protected SecurityContext authenticateInbound(CoreEvent event) throws SecurityException, SecurityProviderNotFoundException, CryptoFailureException, EncryptionStrategyNotFoundException, UnknownAuthenticationTypeException {
String userHeader = (String) credentialsAccessor.getCredentials(event);
if (userHeader == null) {
throw new CredentialsNotSetException(event, event.getSecurityContext(), this);
}
Credentials user = new DefaultMuleCredentials(userHeader, getSecurityManager());
Authentication authentication;
try {
authentication = getSecurityManager().authenticate(new DefaultMuleAuthentication(user));
} catch (Exception e) {
// Authentication failed
if (logger.isDebugEnabled()) {
logger.debug("Authentication request for user: " + user.getUsername() + " failed: " + e.toString());
}
throw new UnauthorisedException(authFailedForUser(user.getUsername()), e);
}
// Authentication success
if (logger.isDebugEnabled()) {
logger.debug("Authentication success: " + authentication.toString());
}
SecurityContext context = getSecurityManager().createSecurityContext(authentication);
context.setAuthentication(authentication);
return context;
}
Aggregations