Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
SecurityRpcService |
|
| 1.0;1 |
1 | /** | |
2 | * Copyright 2010 The Kuali Foundation Licensed under the | |
3 | * Educational Community License, Version 2.0 (the "License"); you may | |
4 | * not use this file except in compliance with the License. You may | |
5 | * obtain a copy of the License at | |
6 | * | |
7 | * http://www.osedu.org/licenses/ECL-2.0 | |
8 | * | |
9 | * Unless required by applicable law or agreed to in writing, | |
10 | * software distributed under the License is distributed on an "AS IS" | |
11 | * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | |
12 | * or implied. See the License for the specific language governing | |
13 | * permissions and limitations under the License. | |
14 | */ | |
15 | ||
16 | package org.kuali.student.common.ui.client.service; | |
17 | ||
18 | import java.util.ArrayList; | |
19 | import java.util.HashMap; | |
20 | ||
21 | import org.kuali.rice.kim.bo.types.dto.AttributeSet; | |
22 | import org.kuali.student.common.rice.authorization.PermissionType; | |
23 | import org.kuali.student.common.ui.client.service.exceptions.OperationFailedException; | |
24 | ||
25 | import com.google.gwt.user.client.rpc.RemoteService; | |
26 | import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; | |
27 | ||
28 | /** | |
29 | * | |
30 | * @author Kuali Student Team | |
31 | * | |
32 | */ | |
33 | @RemoteServiceRelativePath("rpcservices/SecurityRpcService") | |
34 | public interface SecurityRpcService extends RemoteService { | |
35 | ||
36 | public String getPrincipalUsername(); | |
37 | ||
38 | /** | |
39 | * This is used to check if the user has screen access based on a screen permission. | |
40 | * | |
41 | * @param screenName | |
42 | * @return true if user has permission | |
43 | * @throws OperationFailedException | |
44 | */ | |
45 | public Boolean hasScreenPermission(String screenName) throws OperationFailedException; | |
46 | ||
47 | ||
48 | /** | |
49 | * Given a list of screen components, returns if user has permission for that screen element. | |
50 | * | |
51 | * @param screens | |
52 | * @return | |
53 | * @throws OperationFailedException | |
54 | */ | |
55 | public HashMap<String,Boolean> getScreenPermissions(ArrayList<String> screens) throws OperationFailedException; | |
56 | ||
57 | /** | |
58 | * Given a list of permission names returns the list of permissions and if the | |
59 | * @param permissionNames | |
60 | * @return | |
61 | * @throws OperationFailedException | |
62 | */ | |
63 | public HashMap<String,Boolean> getPermissions(ArrayList<String> permissionNames) throws OperationFailedException; | |
64 | ||
65 | /** | |
66 | * This is used to check if the user has a specific permission by the permission name | |
67 | * | |
68 | * @param permissionName | |
69 | * @return true if user has the permission. | |
70 | */ | |
71 | public Boolean hasPermissionByPermissionName(String permissionName) throws OperationFailedException; | |
72 | ||
73 | /** | |
74 | * This is used to get all permissions assigned to the user based on a permission template. | |
75 | * | |
76 | * @param templateName | |
77 | * @return list of permission names | |
78 | */ | |
79 | public ArrayList<String> getPermissionsByType(PermissionType permissionType) throws OperationFailedException; | |
80 | ||
81 | /** | |
82 | * This is used to get all permissions assigned to the user based on a permission template. | |
83 | * | |
84 | * @param permissionType | |
85 | * @param attributes | |
86 | * @return list of permission names | |
87 | * @throws OperationFailedException | |
88 | */ | |
89 | public ArrayList<String> getPermissionsByType(PermissionType permissionType, HashMap<String, String> attributes) throws OperationFailedException; | |
90 | } |