use of org.apache.archiva.redback.users.User in project archiva by apache.
the class ArchivaServletAuthenticatorTest method testIsAuthorizedUserHasNoReadAccess.
@Test
public void testIsAuthorizedUserHasNoReadAccess() throws Exception {
createUser(USER_ALPACA, "Al 'Archiva' Paca");
UserManager userManager = securitySystem.getUserManager();
User user = userManager.findUser(USER_ALPACA);
AuthenticationResult result = new AuthenticationResult(true, USER_ALPACA, null);
SecuritySession session = new DefaultSecuritySession(result, user);
try {
servletAuth.isAuthorized(request, session, "corporate", ArchivaRoleConstants.OPERATION_REPOSITORY_ACCESS);
fail("UnauthorizedException should have been thrown.");
} catch (UnauthorizedException e) {
assertEquals("Access denied for repository corporate", e.getMessage());
}
restoreGuestInitialValues(USER_ALPACA);
}
use of org.apache.archiva.redback.users.User in project archiva by apache.
the class ArchivaServletAuthenticator method isAuthorized.
@Override
public boolean isAuthorized(String principal, String repoId, String permission) throws UnauthorizedException {
try {
User user = securitySystem.getUserManager().findUser(principal);
if (user == null) {
throw new UnauthorizedException("The security system had an internal error - please check your system logs");
}
if (user.isLocked()) {
throw new UnauthorizedException("User account is locked.");
}
AuthenticationResult authn = new AuthenticationResult(true, principal, null);
SecuritySession securitySession = new DefaultSecuritySession(authn, user);
return securitySystem.isAuthorized(securitySession, permission, repoId);
} catch (UserNotFoundException e) {
throw new UnauthorizedException(e.getMessage(), e);
} catch (AuthorizationException e) {
throw new UnauthorizedException(e.getMessage(), e);
} catch (UserManagerException e) {
throw new UnauthorizedException(e.getMessage(), e);
}
}
use of org.apache.archiva.redback.users.User in project archiva by apache.
the class AbstractSecurityTest method createUser.
protected User createUser(String principal, String fullname) throws UserManagerException {
UserManager userManager = securitySystem.getUserManager();
User user = userManager.createUser(principal, fullname, principal + "@testable.archiva.apache.org");
securitySystem.getPolicy().setEnabled(false);
userManager.addUser(user);
securitySystem.getPolicy().setEnabled(true);
return user;
}
use of org.apache.archiva.redback.users.User in project archiva by apache.
the class ArchivaConfigurableUsersManager method createUser.
@Override
public User createUser(String username, String fullName, String emailAddress) throws UserManagerException {
Exception lastException = null;
boolean allFailed = true;
User user = null;
for (UserManager userManager : userManagerPerId.values()) {
try {
if (!userManager.isReadOnly()) {
user = userManager.createUser(username, fullName, emailAddress);
allFailed = false;
}
} catch (Exception e) {
lastException = e;
}
}
if (lastException != null && allFailed) {
throw new UserManagerException(lastException.getMessage(), lastException);
}
return user;
}
use of org.apache.archiva.redback.users.User in project archiva by apache.
the class ArchivaConfigurableUsersManager method deleteUser.
@Override
public void deleteUser(String username) throws UserNotFoundException, UserManagerException {
Exception lastException = null;
boolean allFailed = true;
User user = null;
for (UserManager userManager : userManagerPerId.values()) {
try {
if (!userManager.isReadOnly()) {
userManager.deleteUser(username);
allFailed = false;
}
} catch (Exception e) {
lastException = e;
}
}
if (lastException != null && allFailed) {
throw new UserManagerException(lastException.getMessage(), lastException);
}
}
Aggregations