use of org.simbasecurity.api.service.thrift.ActionDescriptor in project simba-os by cegeka.
the class ManagerSecurityInterceptor method preHandle.
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
RequestData requestData = RequestUtil.createRequestData(request, SystemConfiguration.getSimbaWebURL());
try {
ActionDescriptor actionDescriptor = authenticationService().processRequest(requestData, SystemConfiguration.getManagerAuthorizationChainName());
if (actionDescriptor.getActionTypes().contains(ActionType.DO_FILTER_AND_SET_PRINCIPAL)) {
return true;
}
} catch (Exception ignored) {
ignored.printStackTrace();
}
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return false;
}
use of org.simbasecurity.api.service.thrift.ActionDescriptor in project simba-os by cegeka.
the class SimbaGatewayTest method login_WhenActionDescriptorMissesMAKECOOKIE_ReturnsEmptySSOToken.
@Test
public void login_WhenActionDescriptorMissesMAKECOOKIE_ReturnsEmptySSOToken() throws Exception {
Client authenticationServicemock = setupSimbaServiceToReturnASimbaAuthenticationService();
ContainerRequest containerRequestMock = mock(ContainerRequest.class);
SimbaCredentials simbaCredentials = mock(SimbaCredentials.class);
RequestData requestData = mock(RequestData.class);
ActionDescriptor actionDescriptor = new ActionDescriptorBuilderForTests().withActionTypes(ActionType.REDIRECT).build();
when(simbaCredentialsFactoryMock.create(containerRequestMock, false)).thenReturn(simbaCredentials);
when(simbaCredentials.asRequestData()).thenReturn(requestData);
when(authenticationServicemock.processRequest(requestData, LOGIN_AUTHENTICATE_CHAIN)).thenReturn(actionDescriptor);
Optional<String> ssoToken = simbaGateway.login(containerRequestMock);
assertThat(ssoToken.isPresent()).isFalse();
}
use of org.simbasecurity.api.service.thrift.ActionDescriptor in project simba-os by cegeka.
the class SimbaGatewayTest method login.
@Test
public void login() throws Exception {
Client authenticationServicemock = setupSimbaServiceToReturnASimbaAuthenticationService();
ContainerRequest containerRequestMock = mock(ContainerRequest.class);
SimbaCredentials simbaCredentials = mock(SimbaCredentials.class);
RequestData requestData = mock(RequestData.class);
SSOToken expectedSSOToken = new SSOToken("token");
ActionDescriptor actionDescriptor = new ActionDescriptorBuilderForTests().withActionTypes(ActionType.MAKE_COOKIE).withSsoToken(expectedSSOToken).build();
when(simbaCredentialsFactoryMock.create(containerRequestMock, false)).thenReturn(simbaCredentials);
when(simbaCredentials.asRequestData()).thenReturn(requestData);
when(authenticationServicemock.processRequest(requestData, LOGIN_AUTHENTICATE_CHAIN)).thenReturn(actionDescriptor);
Optional<String> actualSSOToken = simbaGateway.login(containerRequestMock);
assertThat(actualSSOToken.isPresent()).isTrue();
assertThat(actualSSOToken.get()).isEqualTo(expectedSSOToken.getToken());
}
use of org.simbasecurity.api.service.thrift.ActionDescriptor in project simba-os by cegeka.
the class ChangePasswordController method handleRequest.
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
RequestData requestData = RequestUtil.createRequestData(request, resolveSimbaWebURL(request));
ChainContextImpl context = new ChainContextImpl(requestData, sessionService.getSession(requestData.getSsoToken()), configurationService, loginMappingService);
credentialChain.execute(context);
ActionDescriptor actionDescriptor = context.getActionDescriptor();
RequestActionFactory actionFactory = new RequestActionFactory(request, response);
actionFactory.execute(actionDescriptor);
return null;
}
use of org.simbasecurity.api.service.thrift.ActionDescriptor in project simba-os by cegeka.
the class ManagerSecurityInterceptor method preHandle.
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
RequestData requestData = RequestUtil.createRequestData(request, SystemConfiguration.getSimbaWebURL());
try {
ActionDescriptor actionDescriptor = authenticationService.processRequest(requestData, SystemConfiguration.getManagerAuthorizationChainName());
if (actionDescriptor.getActionTypes().contains(ActionType.DO_FILTER_AND_SET_PRINCIPAL)) {
return true;
}
} catch (Exception ignored) {
}
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return false;
}
Aggregations