1 /*
2 * The Kuali Financial System, a comprehensive financial management system for higher education.
3 *
4 * Copyright 2005-2014 The Kuali Foundation
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Affero General Public License as
8 * published by the Free Software Foundation, either version 3 of the
9 * License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 package org.kuali.rice.kim.api.services;
20
21 import java.util.Map;
22
23 import org.kuali.rice.kim.api.identity.entity.Entity;
24 import org.kuali.rice.kim.api.identity.entity.EntityDefault;
25 import org.kuali.rice.kim.api.identity.principal.Principal;
26
27 /**
28 * This is the front end for the KIM module. Clients of KIM should access this service from
29 * their applications. If KIM is not running on the same machine (VM) as the application
30 * (as would be the case with a standalone Rice server), then this service should be implemented
31 * locally within the application and access the core KIM services
32 * (Authentication/Authorization/Identity/Group) via the service bus.
33 *
34 * For efficiency, implementations of this interface should add appropriate caching of
35 * the information retrieved from the core services for load and performance reasons.
36 *
37 * Most of the methods on this interface are straight pass-thrus to methods on the four core services.
38 *
39 * @author Kuali Rice Team (rice.collab@kuali.org)
40 *
41 */
42 @Deprecated
43 public interface IdentityManagementService {
44
45 // *******************************
46 // IdentityService
47 // *******************************
48
49 Principal getPrincipal( String principalId);
50 Principal getPrincipalByPrincipalName( String principalName);
51
52 EntityDefault getEntityDefaultInfo( String entityId);
53 EntityDefault getEntityDefaultInfoByPrincipalId( String principalId);
54 EntityDefault getEntityDefaultInfoByPrincipalName( String principalName);
55
56 Entity getEntityByPrincipalId( String principalId);
57
58 // --------------------
59 // Authorization Checks
60 // --------------------
61
62 boolean hasPermission(
63 String principalId,
64 String namespaceCode,
65 String permissionName
66 );
67
68 boolean isAuthorized(
69 String principalId,
70 String namespaceCode,
71 String permissionName,
72 Map<String, String> qualification
73 );
74
75 boolean hasPermissionByTemplateName(
76 String principalId,
77 String namespaceCode,
78 String permissionTemplateName,
79 Map<String, String> permissionDetails
80 );
81
82 boolean isAuthorizedByTemplateName(
83 String principalId,
84 String namespaceCode,
85 String permissionTemplateName,
86 Map<String, String> permissionDetails,
87 Map<String, String> qualification
88 );
89
90 }