001/* 002 * The Kuali Financial System, a comprehensive financial management system for higher education. 003 * 004 * Copyright 2005-2014 The Kuali Foundation 005 * 006 * This program is free software: you can redistribute it and/or modify 007 * it under the terms of the GNU Affero General Public License as 008 * published by the Free Software Foundation, either version 3 of the 009 * License, or (at your option) any later version. 010 * 011 * This program is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 014 * GNU Affero General Public License for more details. 015 * 016 * You should have received a copy of the GNU Affero General Public License 017 * along with this program. If not, see <http://www.gnu.org/licenses/>. 018 */ 019package org.kuali.rice.kim.api.services; 020 021import java.util.Map; 022 023import org.kuali.rice.kim.api.identity.entity.Entity; 024import org.kuali.rice.kim.api.identity.entity.EntityDefault; 025import org.kuali.rice.kim.api.identity.principal.Principal; 026 027/** 028 * This is the front end for the KIM module. Clients of KIM should access this service from 029 * their applications. If KIM is not running on the same machine (VM) as the application 030 * (as would be the case with a standalone Rice server), then this service should be implemented 031 * locally within the application and access the core KIM services 032 * (Authentication/Authorization/Identity/Group) via the service bus. 033 * 034 * For efficiency, implementations of this interface should add appropriate caching of 035 * the information retrieved from the core services for load and performance reasons. 036 * 037 * Most of the methods on this interface are straight pass-thrus to methods on the four core services. 038 * 039 * @author Kuali Rice Team (rice.collab@kuali.org) 040 * 041 */ 042@Deprecated 043public interface IdentityManagementService { 044 045 // ******************************* 046 // IdentityService 047 // ******************************* 048 049 Principal getPrincipal( String principalId); 050 Principal getPrincipalByPrincipalName( String principalName); 051 052 EntityDefault getEntityDefaultInfo( String entityId); 053 EntityDefault getEntityDefaultInfoByPrincipalId( String principalId); 054 EntityDefault getEntityDefaultInfoByPrincipalName( String principalName); 055 056 Entity getEntityByPrincipalId( String principalId); 057 058 // -------------------- 059 // Authorization Checks 060 // -------------------- 061 062 boolean hasPermission( 063 String principalId, 064 String namespaceCode, 065 String permissionName 066 ); 067 068 boolean isAuthorized( 069 String principalId, 070 String namespaceCode, 071 String permissionName, 072 Map<String, String> qualification 073 ); 074 075 boolean hasPermissionByTemplateName( 076 String principalId, 077 String namespaceCode, 078 String permissionTemplateName, 079 Map<String, String> permissionDetails 080 ); 081 082 boolean isAuthorizedByTemplateName( 083 String principalId, 084 String namespaceCode, 085 String permissionTemplateName, 086 Map<String, String> permissionDetails, 087 Map<String, String> qualification 088 ); 089 090}