Search in sources :

Example 11 with LoginDto

use of eu.bcvsolutions.idm.core.security.api.dto.LoginDto in project CzechIdMng by bcvsolutions.

the class DefaultAuthorizationManagerIntegrationTest method testPredicate.

@Test
public void testPredicate() {
    loginAsAdmin(InitTestData.TEST_USER_1);
    // prepare role
    IdmRoleDto role = helper.createRole();
    helper.createUuidPolicy(role.getId(), role.getId(), IdmBasePermission.READ);
    helper.createBasePolicy(role.getId(), IdmBasePermission.AUTOCOMPLETE);
    // prepare identity
    IdmIdentityDto identity = helper.createIdentity();
    identity.setPassword(new GuardedString("heslo"));
    identityService.save(identity);
    // assign role
    helper.createIdentityRole(identity, role);
    logout();
    // 
    // empty without login
    IdmRoleFilter filter = new IdmRoleFilter();
    assertEquals(0, roleService.find(filter, null, IdmBasePermission.READ).getTotalElements());
    assertEquals(0, roleService.find(filter, null, IdmBasePermission.AUTOCOMPLETE).getTotalElements());
    // 
    try {
        loginService.login(new LoginDto(identity.getUsername(), identity.getPassword()));
        // 
        // evaluate	access
        assertEquals(1, roleService.find(filter, null, IdmBasePermission.READ).getTotalElements());
        assertEquals(roleService.find(null).getTotalElements(), roleService.find(filter, null, IdmBasePermission.AUTOCOMPLETE).getTotalElements());
    } finally {
        logout();
    }
}
Also used : IdmRoleDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleDto) IdmRoleFilter(eu.bcvsolutions.idm.core.api.dto.filter.IdmRoleFilter) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) LoginDto(eu.bcvsolutions.idm.core.security.api.dto.LoginDto) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Example 12 with LoginDto

use of eu.bcvsolutions.idm.core.security.api.dto.LoginDto in project CzechIdMng by bcvsolutions.

the class DefaultAuthorizationManagerIntegrationTest method testEvaluate.

@Test
public void testEvaluate() {
    loginAsAdmin(InitTestData.TEST_USER_1);
    // prepare role
    IdmRoleDto role = helper.createRole();
    helper.createBasePolicy(role.getId(), IdmBasePermission.READ);
    // prepare identity
    IdmIdentityDto identity = helper.createIdentity();
    identity.setPassword(new GuardedString("heslo"));
    identityService.save(identity);
    // assign role
    helper.createIdentityRole(identity, role);
    logout();
    // 
    // without login
    assertFalse(manager.evaluate(role, IdmBasePermission.READ));
    assertFalse(manager.evaluate(role, IdmBasePermission.UPDATE));
    assertFalse(manager.evaluate(role, IdmBasePermission.ADMIN));
    assertFalse(manager.evaluate(role, IdmBasePermission.AUTOCOMPLETE));
    // 
    try {
        loginService.login(new LoginDto(identity.getUsername(), identity.getPassword()));
        // 
        // evaluate	access
        assertTrue(manager.evaluate(role, IdmBasePermission.READ));
        assertFalse(manager.evaluate(role, IdmBasePermission.UPDATE));
        assertFalse(manager.evaluate(role, IdmBasePermission.ADMIN));
        assertFalse(manager.evaluate(role, IdmBasePermission.AUTOCOMPLETE));
    } finally {
        logout();
    }
}
Also used : IdmRoleDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleDto) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) LoginDto(eu.bcvsolutions.idm.core.security.api.dto.LoginDto) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Example 13 with LoginDto

use of eu.bcvsolutions.idm.core.security.api.dto.LoginDto in project CzechIdMng by bcvsolutions.

the class LoginControllerRestTest method testFailLoginCounter.

@Test
@Transactional
public void testFailLoginCounter() throws Exception {
    IdmIdentityDto identity = testHelper.createIdentity(new GuardedString("SafePassword"));
    // Unsuccessful attempts
    tryLogin(identity.getUsername(), "hgjgjh").andExpect(status().is(HttpStatus.UNAUTHORIZED.value()));
    tryLogin(identity.getUsername(), "hgjgjh").andExpect(status().is(HttpStatus.UNAUTHORIZED.value()));
    tryLogin(identity.getUsername(), "hgjgjh").andExpect(status().is(HttpStatus.UNAUTHORIZED.value()));
    assertEquals(3, passwordService.findOneByIdentity(identity.getUsername()).getUnsuccessfulAttempts());
    // Successful attempt
    LoginDto loginDto = new LoginDto();
    loginDto.setUsername(identity.getUsername());
    loginDto.setPassword(new GuardedString("SafePassword"));
    loginController.login(loginDto);
    // 
    assertEquals(0, passwordService.findOneByIdentity(identity.getUsername()).getUnsuccessfulAttempts());
    // 
    logout();
}
Also used : GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) LoginDto(eu.bcvsolutions.idm.core.security.api.dto.LoginDto) Test(org.junit.Test) AbstractRestTest(eu.bcvsolutions.idm.test.api.AbstractRestTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 14 with LoginDto

use of eu.bcvsolutions.idm.core.security.api.dto.LoginDto in project CzechIdMng by bcvsolutions.

the class LoginControllerTest method testSuccesfulLogIn.

@Test
public void testSuccesfulLogIn() throws Exception {
    LoginDto loginDto = new LoginDto();
    loginDto.setUsername(InitTestData.TEST_ADMIN_USERNAME);
    loginDto.setPassword(new GuardedString(InitTestData.TEST_ADMIN_PASSWORD));
    Resource<LoginDto> response = loginController.login(loginDto);
    IdmJwtAuthenticationDto authentication = response.getContent().getAuthentication();
    assertNotNull(authentication);
    assertEquals(InitTestData.TEST_ADMIN_USERNAME, authentication.getCurrentUsername());
    assertEquals(InitTestData.TEST_ADMIN_USERNAME, authentication.getOriginalUsername());
}
Also used : IdmJwtAuthenticationDto(eu.bcvsolutions.idm.core.security.api.dto.IdmJwtAuthenticationDto) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) LoginDto(eu.bcvsolutions.idm.core.security.api.dto.LoginDto) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Example 15 with LoginDto

use of eu.bcvsolutions.idm.core.security.api.dto.LoginDto in project CzechIdMng by bcvsolutions.

the class LoginControllerTest method testBadCredentialsLogIn.

@Test(expected = AuthenticationException.class)
public void testBadCredentialsLogIn() {
    LoginDto loginDto = new LoginDto();
    loginDto.setUsername(InitTestData.TEST_ADMIN_USERNAME);
    loginDto.setPassword(new GuardedString("wrong_pass"));
    loginController.login(loginDto);
}
Also used : GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) LoginDto(eu.bcvsolutions.idm.core.security.api.dto.LoginDto) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Aggregations

LoginDto (eu.bcvsolutions.idm.core.security.api.dto.LoginDto)74 Test (org.junit.Test)63 IdmIdentityDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto)59 AbstractIntegrationTest (eu.bcvsolutions.idm.test.api.AbstractIntegrationTest)59 GuardedString (eu.bcvsolutions.idm.core.security.api.domain.GuardedString)40 IdmRoleDto (eu.bcvsolutions.idm.core.api.dto.IdmRoleDto)32 SysSystemDto (eu.bcvsolutions.idm.acc.dto.SysSystemDto)15 IdmAuthorizationPolicyDto (eu.bcvsolutions.idm.core.api.dto.IdmAuthorizationPolicyDto)14 PasswordChangeDto (eu.bcvsolutions.idm.core.api.dto.PasswordChangeDto)9 VsRequestDto (eu.bcvsolutions.idm.vs.dto.VsRequestDto)9 VsRequestFilter (eu.bcvsolutions.idm.vs.dto.filter.VsRequestFilter)9 IdmRoleRequestDto (eu.bcvsolutions.idm.core.api.dto.IdmRoleRequestDto)7 VsAccountDto (eu.bcvsolutions.idm.vs.dto.VsAccountDto)7 AccAccountDto (eu.bcvsolutions.idm.acc.dto.AccAccountDto)6 AccIdentityAccountDto (eu.bcvsolutions.idm.acc.dto.AccIdentityAccountDto)6 IcConnectorObject (eu.bcvsolutions.idm.ic.api.IcConnectorObject)6 AccAccount (eu.bcvsolutions.idm.acc.entity.AccAccount)5 IdmRole (eu.bcvsolutions.idm.core.model.entity.IdmRole)4 IdmAuthenticationException (eu.bcvsolutions.idm.core.security.exception.IdmAuthenticationException)4 AbstractRestTest (eu.bcvsolutions.idm.test.api.AbstractRestTest)4