diff --git a/IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs b/IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs
index e75fc34bd..39def344c 100644
--- a/IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs
+++ b/IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs
@@ -35,21 +35,36 @@ namespace IRaCIS.Core.API
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.IQC).ToString());
});
+ options.AddPolicy(IRaCISPolicy.CRC_IQC, policyBuilder =>
+ {
+ policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ClinicalResearchCoordinator).ToString(), ((int)UserTypeEnum.IQC).ToString());
+ });
+
options.AddPolicy(IRaCISPolicy.PM, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString());
});
+ options.AddPolicy(IRaCISPolicy.IQC, policyBuilder =>
+ {
+ policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.IQC).ToString());
+ });
+
+ options.AddPolicy(IRaCISPolicy.CRC, policyBuilder =>
+ {
+ policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ClinicalResearchCoordinator).ToString());
+ });
+
options.AddPolicy(IRaCISPolicy.PM_APM_CRC_QC, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(),((int)UserTypeEnum.ClinicalResearchCoordinator).ToString(), ((int)UserTypeEnum.APM).ToString(), ((int)UserTypeEnum.IQC).ToString());
});
- //options.AddPolicy(IRaCISPolicy.PM_APM, policyBuilder =>
- //{
- // policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.APM).ToString());
- //});
+ options.AddPolicy(IRaCISPolicy.SPM_CPM, policyBuilder =>
+ {
+ policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.SPM).ToString(), ((int)UserTypeEnum.CPM).ToString());
+ });
});
}
diff --git a/IRaCIS.Core.Application/Auth/IRaCISPolicy.cs b/IRaCIS.Core.Application/Auth/IRaCISPolicy.cs
index 1a324502d..50610ea64 100644
--- a/IRaCIS.Core.Application/Auth/IRaCISPolicy.cs
+++ b/IRaCIS.Core.Application/Auth/IRaCISPolicy.cs
@@ -10,25 +10,31 @@ namespace IRaCIS.Core.Application.Auth
public static class IRaCISPolicy
{
- public const string PM_APM = "PM_APM";
- public const string PM_APM_CRC = "PM_APM_CRC";
- public const string CRC_IQC = "CRC_IQC";
public const string CRC = "CRC";
public const string PM = "PM";
+ public const string IQC = "IQC";
+
public const string PM_IQC = "PM_IQC";
- public const string IQC = "IQC";
+ public const string CRC_IQC = "CRC_IQC";
+
+
+ public const string SPM_CPM = "SPM_CPM";
+ public const string PM_APM = "PM_APM";
+ public const string PM_APM_CRC = "PM_APM_CRC";
+
+
+
public const string PM_APM_SPM_CPM = "PM_APM_SPM_CPM";
public const string PM_APM_CRC_QC = "PM_APM_CRC_QC";
- public const string SPM_CPM = "SPMAndCPM";
}
}
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
index fb9068fe8..064f171c4 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
@@ -340,12 +340,11 @@ namespace IRaCIS.Application.Services
/// 临床试验项目Id
[HttpDelete, Route("{trialId:guid}")]
- [TypeFilter(typeof(TrialResourceFilter))]
public async Task DeleteTrial(Guid trialId)
{
- var trial = (await _trialRepository.FirstOrDefaultAsync(u => u.Id == trialId)).IfNullThrowException();
+ var trial = (await _trialRepository.FirstOrDefaultAsync(u => u.Id == trialId,true)).IfNullThrowException();
if (_verifyConfig.CurrentValue.OpenTrialRelationDelete )