Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/08/09 14:15:30 (15 years ago)
Author:
mbecirov
Message:

#586 Interface for HivePermissionManager

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Server.Core/3.2/ServerConsoleFacade.cs

    r1757 r1769  
    2828using HeuristicLab.Hive.Contracts;
    2929using HeuristicLab.Security.Contracts.Interfaces;
     30using HeuristicLab.Hive.Server.Core.InternalInterfaces;
    3031
    3132namespace HeuristicLab.Hive.Server.Core {
     
    3738      ServiceLocator.GetJobManager();
    3839
    39     //private IPermissionManager permManager = ServiceLocator.GetPermissionManager();
    40 
    41     #region IServerConsoleFacade Members
     40    private IHivePermissionManager secMan = ServiceLocator.GetHivePermissionManager();
    4241
    4342    public Guid sessionID = Guid.Empty;
     
    4544    public Response Login(string username, string password) {
    4645      Response resp = new Response();
    47       /*
    48       sessionID = permManager.Authenticate(username, password);
     46      sessionID = secMan.Login(username, password);
    4947      if (sessionID == Guid.Empty)
    5048        resp.Success = false;
    5149      else {
    52        
    5350        resp.Success = true;
    5451        resp.StatusMessage =
    5552          ApplicationConstants.RESPONSE_SERVERCONSOLE_LOGIN_SUCCESS;
    5653      }
    57        */
    58       resp.Success = true;
    59       resp.StatusMessage =
    60         ApplicationConstants.RESPONSE_SERVERCONSOLE_LOGIN_SUCCESS;
    6154      return resp;
    6255    }
    6356
    64     #endregion
    65 
    66     #region IClientManager Members
    6757
    6858    public ResponseList<ClientInfo> GetAllClients() {
    69       if (hasPermission(PermissiveSecurityAction.List_AllClients))
     59      if (HasPermission(PermissiveSecurityAction.List_AllClients))
    7060        return clientManager.GetAllClients();
    7161      else
     
    7464
    7565    public ResponseList<ClientGroup> GetAllClientGroups() {
    76       if (hasPermission(PermissiveSecurityAction.List_AllClientGroups))
     66      if (HasPermission(PermissiveSecurityAction.List_AllClientGroups))
    7767        return clientManager.GetAllClientGroups();
    7868      else
     
    8171
    8272    public ResponseList<UpTimeStatistics> GetAllUpTimeStatistics() {
    83       if (hasPermission(PermissiveSecurityAction.Show_Statistics))
     73      if (HasPermission(PermissiveSecurityAction.Show_Statistics))
    8474        return clientManager.GetAllUpTimeStatistics();
    8575      else
     
    8878
    8979    public Response AddClientGroup(ClientGroup clientGroup) {
    90       if (hasPermission(PermissiveSecurityAction.Add_ClientGroup))
     80      if (HasPermission(PermissiveSecurityAction.Add_ClientGroup))
    9181        return clientManager.AddClientGroup(clientGroup);
    9282      else
     
    9585
    9686    public Response AddResourceToGroup(Guid clientGroupId, Resource resource) {
    97       if (hasPermission(PermissiveSecurityAction.Add_Resource))
     87      if (HasPermission(PermissiveSecurityAction.Add_Resource))
    9888        return clientManager.AddResourceToGroup(clientGroupId, resource);
    9989      else
     
    10292
    10393    public Response DeleteResourceFromGroup(Guid clientGroupId, Guid resourceId) {
    104       if (hasPermission(PermissiveSecurityAction.Delete_Resource))
     94      if (HasPermission(PermissiveSecurityAction.Delete_Resource))
    10595        return clientManager.DeleteResourceFromGroup(clientGroupId, resourceId);
    10696      else
     
    10898    }
    10999
    110     #endregion
    111 
    112     #region IJobManager Members
    113100
    114101    public ResponseList<HeuristicLab.Hive.Contracts.BusinessObjects.Job> GetAllJobs() {
    115       if (hasPermission(PermissiveSecurityAction.Get_AllJobs))
     102      if (HasPermission(PermissiveSecurityAction.Get_AllJobs))
    116103        return jobManager.GetAllJobs();
    117104      else
     
    120107
    121108    public ResponseObject<Job> AddNewJob(Job job) {
    122       if (hasPermission(PermissiveSecurityAction.Add_Job))
     109      if (hasPermission(PermissiveSecurityAction.Add_Job, job.Client.Id))
    123110        return jobManager.AddNewJob(job);
    124111      else
     
    127114
    128115    public ResponseObject<JobResult> GetLastJobResultOf(Guid jobId, bool requested) {
    129       if (hasPermission(PermissiveSecurityAction.Get_LastJobResult))
     116      if (HasPermission(PermissiveSecurityAction.Get_LastJobResult))
    130117        return jobManager.GetLastJobResultOf(jobId, requested);
    131118      else
     
    134121
    135122    public ResponseObject<List<JobResult>> GetAllJobResults(Guid jobId) {
    136       if (hasPermission(PermissiveSecurityAction.Get_AllJobResults))
     123      if (HasPermission(PermissiveSecurityAction.Get_AllJobResults))
    137124        return jobManager.GetAllJobResults(jobId);
    138125      else
     
    141128
    142129    public Response RemoveJob(Guid jobId) {
    143       if (hasPermission(PermissiveSecurityAction.Remove_Job))
     130      if (HasPermission(PermissiveSecurityAction.Remove_Job))
    144131        return jobManager.RemoveJob(jobId);
    145132      else
     
    148135
    149136    public Response RequestSnapshot(Guid jobId) {
    150       if (hasPermission(PermissiveSecurityAction.Request_Snapshot))
     137      if (HasPermission(PermissiveSecurityAction.Request_Snapshot))
    151138        return jobManager.RequestSnapshot(jobId);
    152139      else
     
    155142
    156143    public Response AbortJob(Guid jobId) {
    157       if (hasPermission(PermissiveSecurityAction.Abort_Job))
     144      if (HasPermission(PermissiveSecurityAction.Abort_Job))
    158145        return jobManager.AbortJob(jobId);
    159146      else
     
    161148    }
    162149
    163     private bool hasPermission(Guid action) {
    164       return true;
    165       /*
    166       if (sessionID == Guid.Empty)
    167         throw new Exception("sessionID is not set! Please check if user is successfully logged on!");
    168       return permManager.CheckPermission(sessionID, action, Guid.Empty);
    169        */
     150    public ResponseObject<List<ClientGroup>> GetAllGroupsOfResource(Guid resourceId) {
     151      if (HasPermission(PermissiveSecurityAction.Get_AllGroupsOfResource))
     152        return clientManager.GetAllGroupsOfResource(resourceId);
     153      else
     154        throw new PermissionException();     
    170155    }
     156
     157  /*
     158    private bool HasPermission(Guid action) {
     159      return (sessionID == Guid.Empty) ? false : secMan.CheckPermission(sessionID, action, Guid.Empty);
     160    }
     161
     162    private bool HasPermission(Guid action, Guid entityId) {
     163      return (sessionID == Guid.Empty) ? false : secMan.CheckPermission(sessionID, action, entityId);
     164    }
     165   */
     166
     167    [Obsolete("Only for testing!")]
     168    private bool HasPermission(Guid g) { return true; }
     169    [Obsolete("Only for testing!")]
     170    private bool hasPermission(Guid g, Guid f) { return true; }
    171171
    172172    public class PermissionException : Exception {
     
    182182    }
    183183
    184     public ResponseObject<List<ClientGroup>> GetAllGroupsOfResource(Guid resourceId) {
    185       return clientManager.GetAllGroupsOfResource(resourceId);
    186     }
    187184
    188     #endregion
    189185  }
    190186}
Note: See TracChangeset for help on using the changeset viewer.