- Timestamp:
- 06/19/09 12:06:02 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.Core/3.2/ServerConsoleFacade.cs
r2005 r2065 29 29 using HeuristicLab.Security.Contracts.Interfaces; 30 30 using HeuristicLab.Hive.Server.Core.InternalInterfaces; 31 using System.ServiceModel; 32 31 33 32 34 namespace HeuristicLab.Hive.Server.Core { … … 45 47 Response resp = new Response(); 46 48 47 /*48 49 sessionID = secMan.Login(username, password); 49 50 if (sessionID == Guid.Empty) { … … 55 56 ApplicationConstants.RESPONSE_SERVERCONSOLE_LOGIN_SUCCESS; 56 57 } 57 */58 sessionID = Guid.Empty;59 resp.Success = true;60 resp.StatusMessage = ApplicationConstants.RESPONSE_SERVERCONSOLE_LOGIN_SUCCESS;61 58 return resp; 62 59 } … … 64 61 65 62 public ResponseList<ClientInfo> GetAllClients() { 66 if (HasPermission(PermissiveSecurityAction.List_AllClients)) 67 return clientManager.GetAllClients(); 68 else 69 throw new PermissionException(); 63 secMan.Authorize("AccessClients", sessionID, Guid.Empty); 64 return clientManager.GetAllClients(); 70 65 } 71 66 72 67 public ResponseList<ClientGroup> GetAllClientGroups() { 73 if (HasPermission(PermissiveSecurityAction.List_AllClientGroups)) 74 return clientManager.GetAllClientGroups(); 75 else 76 throw new PermissionException(); 68 secMan.Authorize("AccessClientGroup", sessionID, Guid.Empty); 69 return clientManager.GetAllClientGroups(); 77 70 } 78 71 79 72 public ResponseList<UpTimeStatistics> GetAllUpTimeStatistics() { 80 if (HasPermission(PermissiveSecurityAction.Show_Statistics)) 81 return clientManager.GetAllUpTimeStatistics(); 82 else 83 throw new PermissionException(); 73 secMan.Authorize("AccessStatistics", sessionID, Guid.Empty); 74 return clientManager.GetAllUpTimeStatistics(); 84 75 } 85 76 86 77 public ResponseObject<ClientGroup> AddClientGroup(ClientGroup clientGroup) { 87 if (HasPermission(PermissiveSecurityAction.Add_ClientGroup)) 88 return clientManager.AddClientGroup(clientGroup); 89 else 90 throw new PermissionException(); 78 secMan.Authorize("AddClientGroup", sessionID, Guid.Empty); 79 return clientManager.AddClientGroup(clientGroup); 91 80 } 92 81 93 82 public Response AddResourceToGroup(Guid clientGroupId, Resource resource) { 94 if (HasPermission(PermissiveSecurityAction.Add_Resource)) 95 return clientManager.AddResourceToGroup(clientGroupId, resource); 96 else 97 throw new PermissionException(); 83 secMan.Authorize("AddResource", sessionID, Guid.Empty); 84 return clientManager.AddResourceToGroup(clientGroupId, resource); 98 85 } 99 86 100 87 public Response DeleteResourceFromGroup(Guid clientGroupId, Guid resourceId) { 101 if (HasPermission(PermissiveSecurityAction.Delete_Resource))102 88 return clientManager.DeleteResourceFromGroup(clientGroupId, resourceId); 103 else104 throw new PermissionException();105 89 } 106 90 107 108 public ResponseList<HeuristicLab.Hive.Contracts.BusinessObjects.Job> GetAllJobs() { 109 if (HasPermission(PermissiveSecurityAction.Get_AllJobs)) 110 return jobManager.GetAllJobs(); 111 else 112 throw new PermissionException(); 91 public ResponseList<Job> GetAllJobs() { 92 secMan.Authorize("AccessJobs", sessionID, Guid.Empty); 93 return jobManager.GetAllJobs(); 113 94 } 114 95 115 public ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.Job> GetJobById(Guid jobId) { 96 public ResponseObject<Job> GetJobById(Guid jobId) { 97 secMan.Authorize("AccessJobs", sessionID, jobId); 116 98 return jobManager.GetJobById(jobId); 117 99 } 118 100 119 101 public ResponseObject<Job> AddNewJob(Job job) { 120 if (HasPermission(PermissiveSecurityAction.Add_Job)) 121 return jobManager.AddNewJob(job); 122 else 123 throw new PermissionException(); 102 secMan.Authorize("AddJob", sessionID, job.Id); 103 return jobManager.AddNewJob(job); 124 104 } 125 105 126 106 public ResponseObject<JobResult> GetLastJobResultOf(Guid jobId, bool requested) { 127 if (HasPermission(PermissiveSecurityAction.Get_LastJobResult)) 128 return jobManager.GetLastJobResultOf(jobId, requested); 129 else 130 throw new PermissionException(); 107 secMan.Authorize("AccessJobResults", sessionID, jobId); 108 return jobManager.GetLastJobResultOf(jobId, requested); 131 109 } 132 110 133 111 public ResponseList<JobResult> GetAllJobResults(Guid jobId) { 134 if (HasPermission(PermissiveSecurityAction.Get_AllJobResults)) 135 return jobManager.GetAllJobResults(jobId); 136 else 137 throw new PermissionException(); 112 secMan.Authorize("AccessJobResults", sessionID, jobId); 113 return jobManager.GetAllJobResults(jobId); 138 114 } 139 115 140 116 public Response RemoveJob(Guid jobId) { 141 if (HasPermission(PermissiveSecurityAction.Remove_Job)) 142 return jobManager.RemoveJob(jobId); 143 else 144 throw new PermissionException(); 117 secMan.Authorize("RemoveJob", sessionID, jobId); 118 return jobManager.RemoveJob(jobId); 145 119 } 146 120 147 121 public Response RequestSnapshot(Guid jobId) { 148 if (HasPermission(PermissiveSecurityAction.Request_Snapshot)) 149 return jobManager.RequestSnapshot(jobId); 150 else 151 throw new PermissionException(); 122 secMan.Authorize("AccessJobResults", sessionID, jobId); 123 return jobManager.RequestSnapshot(jobId); 152 124 } 153 125 154 126 public Response AbortJob(Guid jobId) { 155 if (HasPermission(PermissiveSecurityAction.Abort_Job)) 156 return jobManager.AbortJob(jobId); 157 else 158 throw new PermissionException(); 127 secMan.Authorize("AbortJob", sessionID, Guid.Empty); 128 return jobManager.AbortJob(jobId); 159 129 } 160 130 161 131 public ResponseObject<List<ClientGroup>> GetAllGroupsOfResource(Guid resourceId) { 162 if (HasPermission(PermissiveSecurityAction.Get_AllGroupsOfResource)) 163 return clientManager.GetAllGroupsOfResource(resourceId); 164 else 165 throw new PermissionException(); 132 secMan.Authorize("AccessUserGroup", sessionID, Guid.Empty); 133 return clientManager.GetAllGroupsOfResource(resourceId); 166 134 } 167 135 168 136 public Response DeleteClientGroup(Guid clientGroupId) { 137 secMan.Authorize("DeleteClientGroup", sessionID, Guid.Empty); 169 138 return clientManager.DeleteClientGroup(clientGroupId); 170 139 } 171 140 172 /*173 private bool HasPermission(Guid action) {174 return (sessionID == Guid.Empty) ? false : secMan.CheckPermission(sessionID, action, Guid.Empty);175 }176 177 private bool HasPermission(Guid action, Guid entityId) {178 return (sessionID == Guid.Empty) ? false : secMan.CheckPermission(sessionID, action, entityId);179 }180 */181 182 [Obsolete("Only for testing!")]183 private bool HasPermission(Guid g) { return true; }184 [Obsolete("Only for testing!")]185 private bool HasPermission(Guid g, Guid f) { return true; }186 187 public class PermissionException : Exception {188 public PermissionException()189 : base("Current user has insufficent rights for this action!") {190 }191 192 public PermissionException(string msg)193 : base(msg) {194 }195 196 197 }198 199 141 public ResponseList<Project> GetAllProjects() { 142 secMan.Authorize("AccessProjects", sessionID, Guid.Empty); 200 143 return jobManager.GetAllProjects(); 201 144 } 202 145 203 146 public Response CreateProject(Project project) { 147 secMan.Authorize("CreateProjects", sessionID, Guid.Empty); 204 148 return jobManager.CreateProject(project); 205 149 } 206 150 207 151 public Response ChangeProject(Project project) { 152 secMan.Authorize("ChangeProjects", sessionID, Guid.Empty); 208 153 return jobManager.ChangeProject(project); 209 154 } 210 155 211 156 public Response DeleteProject(Guid projectId) { 157 secMan.Authorize("DeleteProjects", sessionID, projectId); 212 158 return jobManager.DeleteProject(projectId); 213 159 } 214 160 215 161 public ResponseList<Job> GetJobsByProject(Guid projectId) { 162 secMan.Authorize("AccessJobs", sessionID, Guid.Empty); 216 163 return jobManager.GetJobsByProject(projectId); 217 164 }
Note: See TracChangeset
for help on using the changeset viewer.