Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/13/15 15:22:51 (9 years ago)
Author:
ascheibe
Message:

#2388

  • prevent disposing of hive data context
  • more cleanups
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HiveStatistics/sources/HeuristicLab.Services.Hive/3.3/Manager/AuthorizationManager.cs

    r12691 r12858  
    5252    public void AuthorizeForTask(Guid taskId, DT.Permission requiredPermission) {
    5353      if (ServiceLocator.Instance.RoleVerifier.IsInRole(HiveRoles.Slave)) return; // slave-users can access all tasks
    54       using (var pm = PersistenceManager) {
    55         var taskDao = pm.TaskDao;
    56         pm.UseTransaction(() => {
    57           var task = taskDao.GetById(taskId);
    58           if (task == null) throw new SecurityException(NOT_AUTHORIZED);
    59           AuthorizeJob(pm, task.JobId, requiredPermission);
    60         });
    61       }
     54      var pm = PersistenceManager;
     55      var taskDao = pm.TaskDao;
     56      pm.UseTransaction(() => {
     57        var task = taskDao.GetById(taskId);
     58        if (task == null) throw new SecurityException(NOT_AUTHORIZED);
     59        AuthorizeJob(pm, task.JobId, requiredPermission);
     60      });
    6261    }
    6362
    6463    public void AuthorizeForJob(Guid jobId, DT.Permission requiredPermission) {
    65       using (var pm = PersistenceManager) {
    66         pm.UseTransaction(() => {
    67           AuthorizeJob(pm, jobId, requiredPermission);
    68         });
    69       }
     64      var pm = PersistenceManager;
     65      pm.UseTransaction(() => {
     66        AuthorizeJob(pm, jobId, requiredPermission);
     67      });
    7068    }
    7169
    7270    public void AuthorizeForResourceAdministration(Guid resourceId) {
    73       using (var pm = PersistenceManager) {
    74         var resourceDao = pm.ResourceDao;
    75         pm.UseTransaction(() => {
    76           var resource = resourceDao.GetById(resourceId);
    77           if (resource == null) throw new SecurityException(NOT_AUTHORIZED);
    78           if (resource.OwnerUserId != UserManager.CurrentUserId
    79               && !RoleVerifier.IsInRole(HiveRoles.Administrator)) {
    80             throw new SecurityException(NOT_AUTHORIZED);
    81           }
    82         });
    83       }
     71      var pm = PersistenceManager;
     72      var resourceDao = pm.ResourceDao;
     73      pm.UseTransaction(() => {
     74        var resource = resourceDao.GetById(resourceId);
     75        if (resource == null) throw new SecurityException(NOT_AUTHORIZED);
     76        if (resource.OwnerUserId != UserManager.CurrentUserId
     77            && !RoleVerifier.IsInRole(HiveRoles.Administrator)) {
     78          throw new SecurityException(NOT_AUTHORIZED);
     79        }
     80      });
    8481    }
    8582
Note: See TracChangeset for help on using the changeset viewer.