From e237d589067af532f17a53536c76ddc4c7e03a51 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 4 Jul 2023 15:53:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Authorization/AuthorizationPolicySetup.cs | 86 ------------------- .../appsettings.CenterImageDev.json | 3 - .../IRaCIS.Core.Application.xml | 7 ++ .../Service/Management/UserTypeService.cs | 6 +- .../TrialSiteUser/TrialMaintenanceService.cs | 2 +- IRaCIS.Core.Domain.Share/User/UserType.cs | 84 +++++++++--------- IRaCIS.Core.Domain/Management/UserType.cs | 11 +-- .../Common/AuditingData.cs | 6 +- 8 files changed, 56 insertions(+), 149 deletions(-) delete mode 100644 IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs diff --git a/IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs b/IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs deleted file mode 100644 index a6ea6138d..000000000 --- a/IRaCIS.Core.API/_ServiceExtensions/Authorization/AuthorizationPolicySetup.cs +++ /dev/null @@ -1,86 +0,0 @@ -using IRaCIS.Core.Application.Auth; -using IRaCIS.Core.Domain.Share; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; - -namespace IRaCIS.Core.API -{ - public static class AuthorizationPolicySetup - { - - public static void AddAuthorizationPolicySetup(this IServiceCollection services, IConfiguration configuration) - { - services.AddAuthorization(options => - { - //影像质控策略 只允许 CRC IQC进行操作 - options.AddPolicy(IRaCISPolicy.CRC_IQC, policyBuilder => - { - policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ClinicalResearchCoordinator).ToString(), ((int)UserTypeEnum.IQC).ToString()); - }); - - //一致性核查策略 只允许 CRC PM APM 进行操作 - options.AddPolicy(IRaCISPolicy.PM_APM_CRC, policyBuilder => - { - policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.ClinicalResearchCoordinator).ToString(), ((int)UserTypeEnum.APM).ToString()); - }); - - - options.AddPolicy(IRaCISPolicy.PM_APM, policyBuilder => - { - policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.APM).ToString()); - }); - - options.AddPolicy(IRaCISPolicy.PM_IQC, policyBuilder => - { - policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).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.SPM_CPM, policyBuilder => - { - policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.SPM).ToString(), ((int)UserTypeEnum.CPM).ToString()); - }); - - options.AddPolicy(IRaCISPolicy.PM_APM_SPM_CPM, policyBuilder => - { - policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.APM).ToString(),((int)UserTypeEnum.SPM).ToString(), ((int)UserTypeEnum.CPM).ToString()); - }); - - options.AddPolicy(IRaCISPolicy.PM_APM_SPM_CPM_SMM_CMM, policyBuilder => - { - policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.APM).ToString(), ((int)UserTypeEnum.SPM).ToString(), - ((int)UserTypeEnum.CPM).ToString(), ((int)UserTypeEnum.SMM).ToString(), ((int)UserTypeEnum.CMM).ToString()); - }); - - - - - }); - } - - - - - } -} diff --git a/IRaCIS.Core.API/appsettings.CenterImageDev.json b/IRaCIS.Core.API/appsettings.CenterImageDev.json index 7bd3b7c3d..8b87a0e23 100644 --- a/IRaCIS.Core.API/appsettings.CenterImageDev.json +++ b/IRaCIS.Core.API/appsettings.CenterImageDev.json @@ -21,11 +21,8 @@ "LoginMaxFailCount": 5, "LoginFailLockMinutes": 30 - "OpenLoginLimit": false, - "LoginMaxFailCount": 5, - "LoginFailLockMinutes": 1 }, "SystemEmailSendConfig": { diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 9f72e5bfa..2adad932d 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2536,6 +2536,13 @@ + + + 获取CRC待确认列表 + + + + CRC 确认临床数据 diff --git a/IRaCIS.Core.Application/Service/Management/UserTypeService.cs b/IRaCIS.Core.Application/Service/Management/UserTypeService.cs index 1e55c1dd3..32a51b798 100644 --- a/IRaCIS.Core.Application/Service/Management/UserTypeService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserTypeService.cs @@ -113,13 +113,13 @@ namespace IRaCIS.Core.Application.Contracts if (userTypeSelectEnum == UserTypeSelectEnum.ExternalUser) { - userTypeEnums = new List() { UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.CPM, UserTypeEnum.SMM, UserTypeEnum.CMM, UserTypeEnum.EA }; + userTypeEnums = new List() { UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.CPM, }; } if (userTypeSelectEnum == UserTypeSelectEnum.InnerUser) { - userTypeEnums = new List() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA ,UserTypeEnum.MW}; + userTypeEnums = new List() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA ,}; if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin) { @@ -136,7 +136,7 @@ namespace IRaCIS.Core.Application.Contracts if (userTypeSelectEnum == UserTypeSelectEnum.EnrollOrPD_EMailCopy) { - userTypeEnums = new List() { UserTypeEnum.ProjectManager, UserTypeEnum.APM, UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.SMM, UserTypeEnum.CMM }; + userTypeEnums = new List() { UserTypeEnum.ProjectManager, UserTypeEnum.APM, UserTypeEnum.CPM, UserTypeEnum.SPM }; } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 314e578c2..bb58a11ec 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -115,7 +115,7 @@ namespace IRaCIS.Application.Services { var trialType = _trialRepository.Where(t => t.Id == trialUserQuery.TrialId).Select(t => t.TrialType).FirstOrDefault(); - var userTypeEnums = new List() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA, UserTypeEnum.MW }; + var userTypeEnums = new List() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA }; if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin) { userTypeEnums.Add(UserTypeEnum.ProjectManager); diff --git a/IRaCIS.Core.Domain.Share/User/UserType.cs b/IRaCIS.Core.Domain.Share/User/UserType.cs index 10c1e767d..d8e42bcb6 100644 --- a/IRaCIS.Core.Domain.Share/User/UserType.cs +++ b/IRaCIS.Core.Domain.Share/User/UserType.cs @@ -4,86 +4,84 @@ public enum UserTypeEnum { - + + SuperAdmin = 1, + + Admin = 2, + + + TA = 3, + + + //PM - ProjectManager=1, + ProjectManager = 4, + + //CRC - ClinicalResearchCoordinator=2, + ClinicalResearchCoordinator = 5, + + CRA = 6, //IQC - IQC = 3, + IQC = 7, - ////简历管理人员 - //ResumeManager=4, - ////简历运维人员 - //ReviewerCoordinator = 5, - ReviewerCoordinator = 4, + PI = 8, - // 大屏展示 - Dashboard = 6, - // 超级管理员用户类型,用于取代 SuperAdmin字段 数据库不内置这个用户类型和角色的配置,因为只允许有一个 - SuperAdmin=8, + SR = 9, + + MIM = 10, + + + IM = 11, + + + QA = 12, - CRA=9, - - SPM=10, - - APM=11, - - CPM=12, - - IndependentReviewer=13, - // 医学影像经理 - MIM = 14, - QA=15, - EA=16, + SPM=20, + APM=21, + CPM=22, - MW=17, + IndependentReviewer=18, - - SMM=18, - - CMM=19, - - - AIR=21, + AIR = 21, //医生用户类型暂不处理 ShareImage = 125, + Undefined = 0 - Undefined=0 - - } + + public enum UserTypeSelectEnum { - None=0, + None = 0, - ExternalUser=1, + ExternalUser = 1, - InnerUser=2, + InnerUser = 2, - SiteSurvey=3, + SiteSurvey = 3, - EnrollOrPD_EmailReceive=4, - EnrollOrPD_EMailCopy=5, + EnrollOrPD_EmailReceive = 4, + EnrollOrPD_EMailCopy = 5, } diff --git a/IRaCIS.Core.Domain/Management/UserType.cs b/IRaCIS.Core.Domain/Management/UserType.cs index 87fd86cfa..404b675f1 100644 --- a/IRaCIS.Core.Domain/Management/UserType.cs +++ b/IRaCIS.Core.Domain/Management/UserType.cs @@ -6,11 +6,7 @@ namespace IRaCIS.Core.Domain.Models { public class UserType:Entity { - //public Guid RoleId { get; set; } - //public List TrialUserList { get; set; } - - - + public UserTypeEnum UserTypeEnum { get; set; } public string UserTypeName { get; set; } @@ -39,10 +35,5 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public List UserList { get; set; } - - - - //public bool IsInternal { get; set; } - //public UserTypeGroup Type { get; set; } } } \ No newline at end of file diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 0e2b6be16..4ccdc0025 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -1860,7 +1860,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common //确认重阅 区分用户类型 case "visittask/confirmrereading": - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM) + if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager) { type = type + "/" + 1; @@ -2282,7 +2282,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common case "VisitTask/ConfirmReReading": - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM) + if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager ) { extraIdentification = "/" + 1; } @@ -2816,7 +2816,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common //同意重阅 case "VisitTask/ConfirmReReading": - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM) + if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager ) { type = type + "/" + 1;