From d43f07b8b543c45a5efc5376b0d4ba15aab30dbe Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Wed, 25 May 2022 17:48:00 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Authorization/AuthorizationPolicySetup.cs | 23 +++++++++++++++----
IRaCIS.Core.Application/Auth/IRaCISPolicy.cs | 16 +++++++++----
.../Service/TrialSiteUser/TrialService.cs | 3 +--
3 files changed, 31 insertions(+), 11 deletions(-)
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 )