/* * Copyright (c) 2008-2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.auth.local; import java.net.URI; import java.util.Collections; import java.util.List; import java.util.Map; import org.apache.commons.httpclient.Credentials; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.springframework.beans.factory.annotation.Autowired; import com.emc.storageos.auth.AuthenticationManager.ValidationFailureReason; import com.emc.storageos.auth.impl.LdapFailureHandler; import com.emc.storageos.auth.StorageOSPersonAttributeDao; import com.emc.storageos.db.client.model.StorageOSUserDAO; import com.emc.storageos.security.authorization.BasePermissionsHelper; import com.emc.storageos.security.authorization.BasePermissionsHelper.UserMapping; import com.emc.storageos.svcs.errorhandling.resources.APIException; /** * Attribute repository class for local users. */ public class StorageOSLocalPersonAttributeDao implements StorageOSPersonAttributeDao { @Autowired private BasePermissionsHelper _permissionsHelper; @Override public boolean isGroupValid(final String groupId, ValidationFailureReason[] failureReason) { return false; } @Override public void validateUser(final String userId, final String tenantId, final String altTenantId) { throw new UnsupportedOperationException(); } @Override public StorageOSUserDAO getStorageOSUser(final Credentials credentials, ValidationFailureReason[] failureReason) { String uid = ((UsernamePasswordCredentials) credentials).getUserName(); if (uid == null) { throw APIException.badRequests.theParametersAreNotValid(Credentials.class .getName()); } String rootTenantId = _permissionsHelper.getRootTenant().getId().toString(); StorageOSUserDAO storageOSUser = new StorageOSUserDAO(); storageOSUser.setUserName(uid); storageOSUser.setTenantId(rootTenantId); storageOSUser.setIsLocal(true); return storageOSUser; } @Override public StorageOSUserDAO getStorageOSUser(Credentials credentials) { // failureReason is not used in local DAO return getStorageOSUser(credentials, null); } /* * @see com.emc.storageos.auth.StorageOSPersonAttributeDao#getUserTenants(java.lang.String) */ @Override public Map<URI, UserMapping> getUserTenants(String username) { return Collections.singletonMap(_permissionsHelper.getRootTenant().getId(), null); } @Override public Map<URI, UserMapping> peekUserTenants(String username, URI tenantURI, List<UserMapping> userMappings) { return getUserTenants(username); } @Override public void setFailureHandler(LdapFailureHandler failureHandler) { } }