List of usage examples for org.apache.cassandra.exceptions UnauthorizedException UnauthorizedException
public UnauthorizedException(String msg)
From source file:org.wso2.carbon.cassandra.mgt.CassandraKeyspaceAdmin.java
License:Apache License
/** * Set permissions for a resource/* w w w.j a v a 2 s . c o m*/ * * @param infoList AuthorizedRolesInformation List * @return true if the sharing would be successful. * @throws CassandraServerManagementException * For any errors */ public boolean authorizeRolesForResource(AuthorizedRolesInformation[] infoList) throws CassandraServerManagementException { CassandraAdminDataHolder dataHolder = CassandraAdminDataHolder.getInstance(); UserRealm userRealm = dataHolder.getRealmForCurrentTenant(); AuthorizationManager authorizationManager = null; try { authorizationManager = userRealm.getAuthorizationManager(); } catch (UserStoreException e) { throw new CassandraServerManagementException("Error getting Authorization Manager.", e); } for (AuthorizedRolesInformation info : infoList) { String path = info.getResource(); String permission = info.getPermission(); String user = CarbonContext.getThreadLocalCarbonContext().getUsername(); String tenantLessUsername = MultitenantUtils.getTenantAwareUsername(user); try { if (!authorizationManager.isUserAuthorized(tenantLessUsername, path, Action.ACTION_AUTHORIZE)) { throw new CassandraServerManagementException("You are not authorized to alter permissions.", new UnauthorizedException("You are not authorized to alter permissions. Resource : " + path.substring(path.lastIndexOf("/"), path.length()))); } } catch (UserStoreException e) { throw new CassandraServerManagementException("Authorization permission check failed.", e); } for (String role : info.getAuthorizedRoles()) { if (role == null || "".equals(role.trim())) { throw new CassandraServerManagementException("Role is null or empty"); } role = role.trim(); if (path == null || "".equals(path.trim())) { throw new CassandraServerManagementException("Resource path is null or empty"); } path = path.trim(); try { authorizationManager.clearRoleAuthorization(role, path, permission); authorizationManager.authorizeRole(role, path, permission); } catch (UserStoreException e) { throw new CassandraServerManagementException( "Error during setting permissions on resource at path :" + path + " and" + " for role :" + role, e); } } } return true; }
From source file:org.wso2.carbon.cassandra.mgt.CassandraKeyspaceAdmin.java
License:Apache License
/** * Clear permissions for a resource from a set of roles * * @param infoList AuthorizedRolesInformation List * @return true if the sharing would be successful. * @throws CassandraServerManagementException * For any errors//w w w .j ava 2 s .c o m */ public boolean clearResourcePermissions(AuthorizedRolesInformation[] infoList) throws CassandraServerManagementException { CassandraAdminDataHolder dataHolder = CassandraAdminDataHolder.getInstance(); UserRealm userRealm = dataHolder.getRealmForCurrentTenant(); AuthorizationManager authorizationManager = null; try { authorizationManager = userRealm.getAuthorizationManager(); } catch (UserStoreException e) { throw new CassandraServerManagementException("Error getting Authorization Manager.", e); } for (AuthorizedRolesInformation info : infoList) { String path = info.getResource(); String permission = info.getPermission().toString(); String user = CarbonContext.getThreadLocalCarbonContext().getUsername(); String tenantLessUsername = MultitenantUtils.getTenantAwareUsername(user); try { if (!authorizationManager.isUserAuthorized(tenantLessUsername, path, Action.ACTION_AUTHORIZE)) { throw new CassandraServerManagementException("You are not authorized to alter permissions.", new UnauthorizedException("You are not authorized to alter permissions. Resource : " + path.substring(path.lastIndexOf("/"), path.length()))); } } catch (UserStoreException e) { throw new CassandraServerManagementException("Authorization permission check failed.", e); } for (String role : info.getAuthorizedRoles()) { if (role == null || "".equals(role.trim())) { throw new CassandraServerManagementException("Role is null or empty"); } role = role.trim(); if (path == null || "".equals(path.trim())) { throw new CassandraServerManagementException("Resource path is null or empty"); } path = path.trim(); try { authorizationManager.clearRoleAuthorization(role, path, permission); } catch (UserStoreException e) { throw new CassandraServerManagementException( "Error during clearing permissions of a resource at path :" + path + " and" + " for role :" + role, e); } } } return true; }
From source file:org.wso2.carbon.cassandra.server.CarbonCassandraAuthenticator.java
License:Apache License
private void logAndUnauthorizedException(String msg) throws RequestValidationException { log.error(msg);/*from w ww . j av a 2s.co m*/ throw new UnauthorizedException(msg); }