Пример #1
0
        public BaseUserForm(
            UserRepository userRepository,
            IEntityRepository <UserRole> userRolesRepository,
            ICurrentUserContext currentUserContext) : base(userRepository, userRolesRepository, currentUserContext)

        {
        }
Пример #2
0
 public FavoriteArticleCommandHandler(ICurrentUserContext currentUserContext, ConduitDbContext context, IMapper mapper, IDateTime dateTime)
 {
     _currentUserContext = currentUserContext;
     _context            = context;
     _mapper             = mapper;
     _dateTime           = dateTime;
 }
Пример #3
0
        public void Init(ICurrentUserContext currentUserContext, ILogger logger)
        {
            var moduleLogger = logger.ForContext(LoggingConsts.ModuleParameter, LoggingConsts.IncidentReportModule);

            this.IncidentReportStartup.Initialize(this.DatabaseConfiguration,
                                                  currentUserContext, moduleLogger,
                                                  moduleContainerBuilder =>
            {
                moduleContainerBuilder.RegisterType <CreateDraftApplicationPresenter>().InstancePerLifetimeScope();
                moduleContainerBuilder.Register <IOutputPort>(ctx => ctx.Resolve <CreateDraftApplicationPresenter>())
                .InstancePerLifetimeScope();

                moduleContainerBuilder.RegisterType <UpdateDraftApplicationPresenter>().InstancePerLifetimeScope();
                moduleContainerBuilder
                .Register <IncidentReport.Application.Boundaries.UpdateDraftApplications.IOutputPort>(ctx =>
                                                                                                      ctx.Resolve <UpdateDraftApplicationPresenter>())
                .InstancePerLifetimeScope();

                moduleContainerBuilder.RegisterType <PostApplicationPresenter>().InstancePerLifetimeScope();
                moduleContainerBuilder
                .Register <IncidentReport.Application.Boundaries.PostApplicationUseCase.IOutputPort>(ctx =>
                                                                                                     ctx.Resolve <PostApplicationPresenter>())
                .InstancePerLifetimeScope();
            });
        }
Пример #4
0
        public Task <PermissionCheckResult> CheckPermissionAsync(ICurrentUserContext userContext, OperationAuthorizationRequirement requirement, object resource)
        {
            //此示例演示基于资源的客体授权,由代码主动调用
            if (userContext == null)
            {
                throw new ArgumentNullException(nameof(userContext));
            }
            if (requirement == null)
            {
                throw new ArgumentNullException(nameof(requirement));
            }
            if (resource == null)
            {
                throw new ArgumentNullException(nameof(resource));
            }

            if (resource is DemoOrg theOrg)
            {
                //todo: 检测当前用户身份有删除特定资源的权限
                //模拟只有删除特定范围内组织的权限
                if (theOrg.OrgId == "777")
                {
                    return(Task.FromResult(PermissionCheckResult.Allowed.WithMessage($"{userContext.User}删除{theOrg.OrgId}的权限 => Allowed")));
                }
            }

            //return Task.FromResult(PermissionCheckResult.Forbidden.WithMessage($"{userContext.User}删除777的权限 => Forbidden")); //其他LogicHandler允许也没用
            return(Task.FromResult(PermissionCheckResult.NotSure.WithMessage($"{userContext.User}删除Org的权限 => NotSure"))); //不置可否,由其他LogicHandler决定
        }
Пример #5
0
 public ProjectService(
     IBackgroundJobClient hangfireClient,
     IJsonApiContext jsonApiContext,
     IOrganizationContext organizationContext,
     ICurrentUserContext currentUserContext,
     UserRepository userRepository,
     IEntityRepository <Project> projectRepository,
     CurrentUserRepository currentUserRepository,
     GroupRepository groupRepository,
     IEntityRepository <Organization> organizationRepository,
     IEntityRepository <UserRole> userRolesRepository,
     IEntityRepository <Author> authorRepository,
     ILoggerFactory loggerFactory) : base(jsonApiContext, projectRepository, loggerFactory)
 {
     OrganizationContext    = organizationContext;
     HangfireClient         = hangfireClient;
     JsonApiContext         = jsonApiContext;
     CurrentUserContext     = currentUserContext;
     UserRepository         = userRepository;
     GroupRepository        = groupRepository;
     OrganizationRepository = organizationRepository;
     UserRolesRepository    = userRolesRepository;
     AuthorRepository       = authorRepository;
     ProjectRepository      = (ProjectRepository)projectRepository;
     CurrentUserRepository  = currentUserRepository;
 }
 public AddCommentCommandHandler(ICurrentUserContext currentUserContext, ConduitDbContext context, IMapper mapper, IDateTime dateTime)
 {
     _currentUserContext = currentUserContext;
     _context            = context;
     _mapper             = mapper;
     _dateTime           = dateTime;
 }
 public PermissionCheckContext(ActionDescriptor actionDescriptor, HttpContext httpContext, ICurrentUserContext currentUserContext, IAuthorizationRequirement requirement)
 {
     ActionDescriptor   = actionDescriptor;
     HttpContext        = httpContext;
     CurrentUserContext = currentUserContext;
     Requirement        = requirement;
 }
Пример #8
0
 //--- Constructors ---
 public SeatingBL(IUserBL userBL, ILicenseBL licenseBL, ICurrentUserContext userContext, IDekiDataSession dataSession, ILog log) {
     _userBL = userBL;
     _licenseBL = licenseBL;
     _log = log;
     _userContext = userContext;
     _dataSession = dataSession;
 }
Пример #9
0
        public void Initialize(ICurrentUserContext currentUserContext)
        {
            var logger = new LoggerConfiguration().CreateLogger();

            this.AssemblyWithMediatRComponentsImplementation = this._assemblyWithMediatRComponentsImplementationForTest;
            this.Initialize(this._databaseConfiguration, currentUserContext, logger, container => { });
        }
Пример #10
0
 public ProductService(
     IJsonApiContext jsonApiContext,
     IOrganizationContext organizationContext,
     IEntityRepository <Product, Guid> productRepository,
     UserRepository userRepository,
     ProjectRepository projectRepository,
     ICurrentUserContext currentUserContext,
     IEntityRepository <ProductDefinition> productDefinitionRepository,
     IEntityRepository <WorkflowDefinition> workflowDefinitionRepository,
     IEntityRepository <Store> storeRepository,
     IEntityRepository <UserRole> userRolesRepository,
     IEntityRepository <ProductPublication> productPublicationsRepository,
     IBackgroundJobClient hangfireClient,
     ILoggerFactory loggerFactory) : base(jsonApiContext, productRepository, loggerFactory)
 {
     ProductRepository            = productRepository;
     ProductDefinitionRepository  = productDefinitionRepository;
     WorkflowDefinitionRepository = workflowDefinitionRepository;
     StoreRepository               = storeRepository;
     UserRolesRepository           = userRolesRepository;
     ProductPublicationsRepository = productPublicationsRepository;
     HangfireClient      = hangfireClient;
     UserRepository      = userRepository;
     ProjectRepository   = projectRepository;
     CurrentUserContext  = currentUserContext;
     OrganizationContext = organizationContext;
     JsonApiContext      = jsonApiContext;
 }
Пример #11
0
        public void Initialize(ICurrentUserContext currentUserContext)
        {
            var logger = new LoggerConfiguration().CreateLogger();

            this.Initialize(this._databaseConfiguration, currentUserContext, logger, container =>
            {
                container.RegisterType <CreateDraftApplicationUseCaseOutputPort>().InstancePerLifetimeScope();
                container.Register <IOutputPort>(ctx => ctx.Resolve <CreateDraftApplicationUseCaseOutputPort>())
                .InstancePerLifetimeScope();

                container.RegisterType <UpdateDraftApplicationUseCaseOutputPort>().InstancePerLifetimeScope();
                container
                .Register <IncidentReport.Application.Boundaries.UpdateDraftApplications.IOutputPort>(ctx =>
                                                                                                      ctx.Resolve <UpdateDraftApplicationUseCaseOutputPort>())
                .InstancePerLifetimeScope();

                container.RegisterType <PostApplicationUseCaseOutputPort>().InstancePerLifetimeScope();
                container
                .Register <IncidentReport.Application.Boundaries.PostApplicationUseCase.IOutputPort>(ctx =>
                                                                                                     ctx.Resolve <PostApplicationUseCaseOutputPort>())
                .InstancePerLifetimeScope();
            });

            var dbContext = InstanceResolver.Resolve <IncidentReportWriteDbContext>();

            dbContext.Database.EnsureCreated();
        }
Пример #12
0
        public async Task GetProjectsForCurrentUser_Assigned0Projects_ReturnsEmptyListAssignedProjects()
        {
            _client = new IntegrationWebApplicationFactory <Startup>().WithWebHostBuilder(builder =>
            {
                builder.ConfigureTestServices(services =>
                {
                    var serviceDesc = services.FirstOrDefault(desc => desc.ServiceType == typeof(ICurrentUserContext));
                    services.Remove(serviceDesc);
                    _currentUserContext = new CurrentUserContext()
                    {
                        UserId = 4
                    };
                    services.AddTransient <ICurrentUserContext>(x => _currentUserContext);
                    var sp     = services.BuildServiceProvider();
                    _dbContext = sp.GetRequiredService <TaskterDbContext>();
                });
            }).CreateClient();

            _dbContext.Users.Add(new User("test2", "test 2", "test lastName", "admin", "http://google.com")
            {
                Id = _currentUserContext.UserId
            });
            _dbContext.SaveChanges();

            var result = await _client.GetProjectsForCurrentUser();

            result.Count.Should().Be(0);
        }
        public async Task <PermissionCheckResult> CheckPermissionAsync(ICurrentUserContext userContext, PermissionCheckContext permissionCheckContext)
        {
            //此示例演示基于额外的请求上下文,来完成判断逻辑的场景。例如Query,Form, Cookie等
            if (userContext == null)
            {
                throw new ArgumentNullException(nameof(userContext));
            }
            if (permissionCheckContext == null)
            {
                throw new ArgumentNullException(nameof(permissionCheckContext));
            }

            //todo: read current user's allowed scoped from database or somewhere else
            var scopeOrgIds = new List <string>()
            {
                "123", "789"
            };
            var currentOrgId = await TryGetCurrentOrgId(permissionCheckContext);

            if (scopeOrgIds.MyContains(currentOrgId))
            {
                var permissionCheckResult = PermissionCheckResult.Allowed.WithMessage("当前组织已授权: " + currentOrgId);
                _debugHelper.AppendPermissionCheckResults(permissionCheckResult);
                _logger.LogInformation(permissionCheckResult.Message);
                return(permissionCheckResult);
            }

            var permissionCheckResult2 = PermissionCheckResult.Forbidden.WithMessage("当前组织没有授权: " + currentOrgId);

            _debugHelper.AppendPermissionCheckResults(permissionCheckResult2);
            _logger.LogInformation(permissionCheckResult2.Message);
            return(permissionCheckResult2);
        }
 public DashboardController(IDashboardService dashboardService, IMapper mapper, ICurrentUserContext currentUserContext, IOwnerTypeService ownerTypeService)
 {
     _dashboardService   = dashboardService;
     _mapper             = mapper;
     _currentUserContext = currentUserContext;
     _ownerTypeService   = ownerTypeService;
 }
        public ContentTreeNodeController(IContentTreePageNodeContext contentTreePageNodeContext, 
											IContentTreeNodeToContentTreeNodeInputModelMapper contentTreeNodeToContentTreeNodeInputModelMapper,
            ITreeNodeRepository treeNodeRepository, 
											IContentTreeNodeProviderContext contentTreeNodeProviderContext,  
											IContentTreeNodeDisplayViewModelBuilder contentTreeNodeDisplayViewModelBuilder, 
											IRawUrlGetter rawUrlGetter,
											ICommandBus commandBus,
											IGuidGetter guidGetter,
											IContentTreeNodeFileUploadPersister contentTreeNodeFileUploadPersister,
                                            ICurrentUserContext currentUserContext,
                                            ITreeNodeIdToUrl treeNodeIdToUrl,
                                            IGetUrlOfFrontSideWebsite getUrlOfFrontSideWebsite,
                                            IContentTree contentTree,
                                            IContentTreeNodeMetaInformationViewModelBuilder contentTreeNodeMetaInformationViewModelBuilder)
        {
            CurrentUserContext = currentUserContext;
            this.contentTreeNodeMetaInformationViewModelBuilder = contentTreeNodeMetaInformationViewModelBuilder;
            this.contentTree = contentTree;
            this.getUrlOfFrontSideWebsite = getUrlOfFrontSideWebsite;
            this.treeNodeIdToUrl = treeNodeIdToUrl;
            this.currentUserContext = currentUserContext;
            this.contentTreeNodeFileUploadPersister = contentTreeNodeFileUploadPersister;
            this.guidGetter = guidGetter;
            this.commandBus = commandBus;
            this.contentTreeNodeProviderContext = contentTreeNodeProviderContext;
            this.treeNodeRepository = treeNodeRepository;
            this.contentTreeNodeToContentTreeNodeInputModelMapper = contentTreeNodeToContentTreeNodeInputModelMapper;
            this.contentTreePageNodeContext = contentTreePageNodeContext;
        }
Пример #16
0
 public BaseController(IJsonApiContext jsonApiContext,
                       IResourceService <T, int> resourceService,
                       ICurrentUserContext currentUserContext,
                       OrganizationService organizationService,
                       UserService userService)
     : base(jsonApiContext, resourceService, currentUserContext, organizationService, userService)
 {
 }
 public NewsAuthorizationService(
     IAuthorizationService authorizationService,
     ICurrentUserContext currentUserContext
     )
 {
     _authorizationService = authorizationService ?? throw new ArgumentNullException(nameof(authorizationService));
     _currentUserContext   = currentUserContext ?? throw new ArgumentNullException(nameof(currentUserContext));
 }
Пример #18
0
 public UpdateForm(
     UserRepository userRepository,
     ICurrentUserContext currentUserContext,
     IEntityRepository <UserRole> userRolesRepository)
     : base(userRepository, userRolesRepository, currentUserContext)
 {
     UserRepository = userRepository;
 }
Пример #19
0
 //--- Constructors ---
 public SeatingBL(IUserBL userBL, ILicenseBL licenseBL, ICurrentUserContext userContext, IDekiDataSession dataSession, ILog log)
 {
     _userBL      = userBL;
     _licenseBL   = licenseBL;
     _log         = log;
     _userContext = userContext;
     _dataSession = dataSession;
 }
Пример #20
0
 public ProjectImportsController(
     IJsonApiContext jsonApiContext,
     IResourceService <ProjectImport> resourceService,
     ICurrentUserContext currentUserContext,
     OrganizationService organizationService,
     UserService userService)
     : base(jsonApiContext, resourceService, currentUserContext, organizationService, userService)
 {
 }
Пример #21
0
        private void ConfigureCompositionRoot(Action <DbContextOptionsBuilder> dbContextOptionsBuilderAction,
                                              ICurrentUserContext currentUserContext, ILogger logger)
        {
            this.RegisterTypesInContainer(this._containerBuilder, dbContextOptionsBuilderAction, currentUserContext, logger);

            var container = this._containerBuilder.Build();

            CompositionRoot.SetContainer(container);
        }
Пример #22
0
 public WorkflowDefinitionsController(
     IJsonApiContext jsonApiContext,
     IResourceService <WorkflowDefinition> resourceService,
     ICurrentUserContext currentUserContext,
     OrganizationService organizationService,
     UserService userService)
     : base(jsonApiContext, resourceService, currentUserContext, organizationService, userService)
 {
 }
Пример #23
0
 public GetFeedQueryHandler(
     ICurrentUserContext currentUserContext,
     ConduitDbContext context,
     IMapper mapper)
 {
     _currentUserContext = currentUserContext;
     _context            = context;
     _mapper             = mapper;
 }
Пример #24
0
 public ResourceController(
     IResourceService resourceService,
     ICurrentUserContext userContext,
     IMapper mapper)
 {
     this.resourceService = resourceService;
     this.userContext     = userContext;
     this.mapper          = mapper;
 }
 public NotificationsController(
     IJsonApiContext jsonApiContext,
     IResourceService <Notification> resourceService,
     ICurrentUserContext currentUserContext,
     OrganizationService organizationService,
     UserService userService)
     : base(jsonApiContext, resourceService, currentUserContext, organizationService, userService)
 {
 }
Пример #26
0
 public ResourceService(
     Belsim2020DbContext dbContext,
     ICurrentUserContext userContext,
     ILogger <ResourceService> logger)
 {
     this.dbContext   = dbContext;
     this.userContext = userContext;
     this.logger      = logger;
 }
Пример #27
0
 public ExperimentTemplateController(
     IExperimentTemplateService experimentTemplateService,
     ICurrentUserContext userContext,
     IMapper mapper)
 {
     this.experimentTemplateService = experimentTemplateService;
     this.userContext = userContext;
     this.mapper      = mapper;
 }
Пример #28
0
 public ProductService(
     Belsim2020DbContext dbContext,
     ICurrentUserContext userContext,
     ILogger <ProductService> logger)
 {
     this.dbContext   = dbContext;
     this.userContext = userContext;
     this.logger      = logger;
 }
Пример #29
0
 public BaseForm(
     UserRepository userRepository,
     IEntityRepository <UserRole> userRolesRepository,
     ICurrentUserContext currentUserContext)
 {
     Errors              = new ErrorCollection();
     CurrentUser         = userRepository.GetByAuth0Id(currentUserContext.Auth0Id).Result;
     UserRolesRepository = userRolesRepository;
 }
 public StoreTypesController(
     IJsonApiContext jsonApiContext,
     IResourceService <StoreType> resourceService,
     ICurrentUserContext currentUserContext,
     OrganizationService organizationService,
     UserService userService)
     : base(jsonApiContext, resourceService, currentUserContext, organizationService, userService)
 {
 }
Пример #31
0
 public ProjectController(
     IProjectService projectService,
     ICurrentUserContext userContext,
     IMapper mapper)
 {
     this.projectService = projectService;
     this.userContext    = userContext;
     this.mapper         = mapper;
 }
 public HttpOrganizationContext(
     IHttpContextAccessor httpContextAccessor,
     ICurrentUserContext currentUserContext,
     OrganizationService organizationService
     )
 {
     this.HttpContext         = httpContextAccessor.HttpContext;
     this.OrganizationService = organizationService;
     this.parsed = false;
 }
 public ToolLinkProviderNodeController(IModifyViewModelBuilder modifyViewModelBuilder,
     IToolLinkProviderDraftRepository toolLinkProviderDraftRepository,
     ITreeNodeSummaryContext treeNodeSummaryContext,
     ICommandBus commandBus,
     ICurrentUserContext currentUserContext)
 {
     this.currentUserContext = currentUserContext;
     this.commandBus = commandBus;
     this.treeNodeSummaryContext = treeNodeSummaryContext;
     this.toolLinkProviderDraftRepository = toolLinkProviderDraftRepository;
     this.modifyViewModelBuilder = modifyViewModelBuilder;
 }
Пример #34
0
 public HandleContentSecurity(ICurrentUserContext currentUserContext,
     IContentTreeSectionNodeRepository contentTreeSectionNodeRepository,
     IUserRepository userRepository,
     IRoleRepository roleRepository,
     ITreeNodeRepository treeNodeRepository,
     IGetTheNotAuthorizedPage getTheNotAuthorizedPage)
 {
     this.currentUserContext = currentUserContext;
     this.contentTreeSectionNodeRepository = contentTreeSectionNodeRepository;
     this.userRepository = userRepository;
     this.roleRepository = roleRepository;
     this.treeNodeRepository = treeNodeRepository;
     this.getTheNotAuthorizedPage = getTheNotAuthorizedPage;
 }
Пример #35
0
 public HandleModuleSecurity(IUserRepository userRepository,
     IRoleRepository roleRepository,
     ICurrentUserContext currentUserContext,
     IModuleRepository moduleRepository,
     IGetTheNotAuthorizedPage getTheNotAuthorizedPage,
     ISuperUserContext superUserContext)
 {
     this.userRepository = userRepository;
     this.roleRepository = roleRepository;
     this.currentUserContext = currentUserContext;
     this.moduleRepository = moduleRepository;
     this.getTheNotAuthorizedPage = getTheNotAuthorizedPage;
     this.superUserContext = superUserContext;
 }
        public ContentTreeSectionNodeController(IContentTreeSectionNodeRepository contentTreeSectionNodeRepository, 
												IContentTreeSectionNodeToContentTreeSectionInputModelMapper contentTreeSectionNodeToContentTreeSectionInputModelMapper,
												ICommandBus commandBus,
												IContentTree contentTree,
												IGuidGetter guidGetter,
                                                ICurrentUserContext currentUserContext)
        {
            this.currentUserContext = currentUserContext;
            this.guidGetter = guidGetter;
            this.contentTree = contentTree;
            this.commandBus = commandBus;
            this.contentTreeSectionNodeToContentTreeSectionInputModelMapper = contentTreeSectionNodeToContentTreeSectionInputModelMapper;
            this.contentTreeSectionNodeRepository = contentTreeSectionNodeRepository;
        }
Пример #37
0
		public CurrentUserPluginResult(ICurrentUserContext currentUserContext)
		{
			_currentUserContext = ValidationUtil.CheckOnNullAndThrowIfNull(currentUserContext);
		}