Ejemplo n.º 1
0
        public SiteManager(
            SiteContext currentSite,
            ISiteCommands siteCommands,
            ISiteQueries siteQueries,
            IUserCommands userCommands,
            IUserQueries userQueries,
            SiteDataProtector dataProtector,
            IHttpContextAccessor contextAccessor,
            ILogger<SiteManager> logger,
            IOptions<MultiTenantOptions> multiTenantOptionsAccessor,
            IOptions<SiteConfigOptions> setupOptionsAccessor,
            CacheHelper cacheHelper
            )
        {

            commands = siteCommands;
            queries = siteQueries;
            this.userCommands = userCommands;
            this.userQueries = userQueries;
            multiTenantOptions = multiTenantOptionsAccessor.Value;
            setupOptions = setupOptionsAccessor.Value;
            _context = contextAccessor?.HttpContext;
            this.dataProtector = dataProtector;
            log = logger;

            //resolver = siteResolver;
            siteSettings = currentSite;
            this.cacheHelper = cacheHelper;
        }
Ejemplo n.º 2
0
 public IpAddressTracker(
     IUserCommands userCommands,
     IUserQueries userQueries,
     ILogger<IpAddressTracker> logger,
     IHttpContextAccessor contextAccessor)
 {
     commands = userCommands;
     queries = userQueries;
     log = logger;
     context = contextAccessor?.HttpContext;
 }
Ejemplo n.º 3
0
        public SiteRoleManager(
            SiteContext currentSite,
            IUserCommands userCommands,
            IUserQueries userQueries,
            IOptions <MultiTenantOptions> multiTenantOptionsAccessor,
            IRoleStore <TRole> roleStore,
            IEnumerable <IRoleValidator <TRole> > roleValidators,
            ILookupNormalizer keyNormalizer,
            IdentityErrorDescriber errors,
            ILogger <RoleManager <TRole> > logger,
            IHttpContextAccessor contextAccessor
            ) : base(
                roleStore,
                roleValidators,
                keyNormalizer,
                errors,
                logger,
                contextAccessor)
        {
            if (currentSite == null)
            {
                throw new ArgumentNullException(nameof(currentSite));
            }
            if (roleStore == null)
            {
                throw new ArgumentNullException(nameof(roleStore));
            }
            if (userCommands == null)
            {
                throw new ArgumentNullException(nameof(userCommands));
            }
            commands = userCommands;

            if (userQueries == null)
            {
                throw new ArgumentNullException(nameof(userQueries));
            }
            queries = userQueries;

            siteSettings       = currentSite;
            this.logger        = logger;
            multiTenantOptions = multiTenantOptionsAccessor.Value;
            _context           = contextAccessor?.HttpContext;
        }
Ejemplo n.º 4
0
        public SiteUserManager(
            SiteContext currentSite,
            UserEvents userEventHandlers,
            IEnumerable <IHandleUserEmailConfirmed> emailConfirmedHandlers,
            IUserCommands userCommands,
            IUserQueries userQueries,
            IUserStore <TUser> store,
            IOptions <IdentityOptions> optionsAccessor,
            IOptions <MultiTenantOptions> multiTenantOptionsAccessor,
            INewUserDisplayNameResolver displayNameResolver,
            IPasswordHasher <TUser> passwordHasher,
            IEnumerable <IUserValidator <TUser> > userValidators,
            IEnumerable <IPasswordValidator <TUser> > passwordValidators,
            ILookupNormalizer lookupNormalizer,
            IdentityErrorDescriber errors,
            IServiceProvider serviceProvider,
            ILogger <UserManager <TUser> > logger,
            IHttpContextAccessor contextAccessor)
            : base(
                store,
                optionsAccessor,
                passwordHasher,
                userValidators,
                passwordValidators,
                lookupNormalizer,
                errors,
                serviceProvider,
                logger)
        {
            _identityOptions = optionsAccessor.Value;
            _userStore       = store;
            _commands        = userCommands ?? throw new ArgumentNullException(nameof(userCommands));
            _queries         = userQueries ?? throw new ArgumentNullException(nameof(userQueries));

            _siteSettings           = currentSite;
            _multiTenantOptions     = multiTenantOptionsAccessor.Value;
            _contextAccessor        = contextAccessor;
            _httpContext            = contextAccessor?.HttpContext;
            _eventHandlers          = userEventHandlers;
            _passwordHasher         = passwordHasher;
            _emailConfirmedHandlers = emailConfirmedHandlers;
            _displayNameResolver    = displayNameResolver;
        }
Ejemplo n.º 5
0
        public RootModule(IHandler <GuestLoginRequest, GuestLoginResponse> guestLoginHandler
                          , IHandler <UserLoginRequest, UserLoginResponse> userLoginHandler
                          , IValidator <GuestLoginRequest> guestValidator
                          , IValidator <UserLoginRequest> userValidator
                          , IUserQueries userEventQueries
                          , ILogger logger)
        {
            _GuestLoginHandler = guestLoginHandler;
            _UserLoginHandler  = userLoginHandler;
            _userEventQueries  = userEventQueries;
            _guestValidator    = guestValidator;
            _userValidator     = userValidator;
            _logger            = logger;

            Get["/"] = _ => Response.AsFile("Content/spa/index.html", "text/html");
            Post["api/user-login"]  = _ => UserLogin();
            Post["api/guest-login"] = _ => GuestLogin();
            Post["api/logout"]      = _ => Logout();
        }
 public ContentSettingsController(
     IProjectService projectService,
     IAuthorizationService authorizationService,
     IUserQueries userQueries,
     ITeaserService teaserService,
     NavigationTreeBuilderService navigationTreeBuilderService,
     IStringLocalizer <cloudscribe.SimpleContent.Web.SimpleContent> localizer
     )
 {
     this.projectService       = projectService;
     this.authorizationService = authorizationService;
     this.userQueries          = userQueries;
     sr = localizer;
     if (teaserService is TeaserServiceDisabled)
     {
         _teasersDisabled = true;
     }
     _navigationTreeBuilderService = navigationTreeBuilderService;
 }
Ejemplo n.º 7
0
        public UserStore(
            SiteSettings currentSite,
            ILogger <UserStore <TUser> > logger,
            IUserCommands userCommands,
            IUserQueries userQueries,
            IOptions <MultiTenantOptions> multiTenantOptionsAccessor
            )
        {
            log = logger;

            if (currentSite == null)
            {
                throw new ArgumentNullException(nameof(currentSite));
            }

            _siteSettings = currentSite;

            if (userCommands == null)
            {
                throw new ArgumentNullException(nameof(userCommands));
            }
            commands = userCommands;

            if (userQueries == null)
            {
                throw new ArgumentNullException(nameof(userQueries));
            }
            queries = userQueries;


            multiTenantOptions = multiTenantOptionsAccessor.Value;

            //debugLog = config.GetOrDefault("AppSettings:UserStoreDebugEnabled", false);

            if (debugLog)
            {
                log.LogInformation("constructor");
            }
        }
Ejemplo n.º 8
0
        public void OnAuthorization(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context)
        {
            var user = context.HttpContext.User;

            if (!user.Identity.IsAuthenticated)
            {
                // it isn't needed to set unauthorized result
                // as the base class already requires the user to be authenticated
                // this also makes redirect to a login page work properly
                // context.Result = new UnauthorizedResult();
                return;
            }

            _userQueries = (IUserQueries)context.HttpContext.RequestServices.GetService(typeof(IUserQueries));
            _userManager = (IUserManager)context.HttpContext.RequestServices.GetService(typeof(IUserManager));

            IDictionary <string, PermissionDTO> permissions = _userQueries.GetPermissionsAsync(_userManager.GetCurrentUserId()).GetAwaiter().GetResult();
            bool isAuthorized = !Permissions.Any() || (permissions != null && Permissions.All(p => permissions.ContainsKey(p)));

            if (!isAuthorized)
            {
                context.Result = new StatusCodeResult((int)System.Net.HttpStatusCode.Forbidden);
            }
        }
Ejemplo n.º 9
0
        public RoleStore(
            SiteSettings currentSite,
            ILogger <RoleStore <TRole> > logger,
            IOptions <MultiTenantOptions> multiTenantOptionsAccessor,
            IUserCommands userCommands,
            IUserQueries userQueries
            )
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (currentSite == null)
            {
                throw new ArgumentNullException(nameof(currentSite));
            }
            if (userCommands == null)
            {
                throw new ArgumentNullException(nameof(userCommands));
            }
            commands = userCommands;

            if (userQueries == null)
            {
                throw new ArgumentNullException(nameof(userQueries));
            }
            queries = userQueries;

            log          = logger;
            siteSettings = currentSite;

            multiTenantOptions = multiTenantOptionsAccessor.Value;


            //if (debugLog) { log.LogInformation("constructor"); }
        }
Ejemplo n.º 10
0
 public UserController(IUserQueries userQueries)
 => _userQueries = userQueries;
 public SecurityKeys(IUserQueries userQueries)
 {
     this._userQueries = userQueries;
 }
Ejemplo n.º 12
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="mediator"></param>
 /// <param name="userQueries"></param>
 public UserController(IMediator mediator, IUserQueries userQueries)
 {
     _mediator    = mediator;
     _userQueries = userQueries;
 }
Ejemplo n.º 13
0
 public TokenProviderMiddleware(RequestDelegate next, IOptions <TokenProviderOptions> options, IUserQueries userQueries)
 {
     _next            = next;
     _options         = options.Value;
     this.userQueries = userQueries;
 }
 public UpdateUserCoreDetailsCommandHandler(IUserRepository userRepository, IUserQueries userQueries)
 {
     this._userRepository = userRepository;
     this._userQueries    = userQueries;
 }
Ejemplo n.º 15
0
 public UserController(IMediator mediator, IUserQueries userQueries)
 {
     this.mediator    = mediator;
     this.userQueries = userQueries;
 }
 public Details(IMediator mediator, IUserQueries userQueries)
 {
     this._mediator    = mediator ?? throw new ArgumentNullException(nameof(mediator));
     this._userQueries = userQueries ?? throw new ArgumentNullException(nameof(userQueries));
 }
Ejemplo n.º 17
0
 public UserController(IUserQueries userQueries, IUserCommands userCommands)
 {
     _userQueries  = userQueries;
     _userCommands = userCommands;
 }
Ejemplo n.º 18
0
 public AddUserCommandHandler(IUserRepository userRepository, IUserQueries userQueries)
 {
     this.userRepository = userRepository;
     this.userQueries    = userQueries;
 }
Ejemplo n.º 19
0
 public UsersController(IUserCommands <UserDTO> userCommands, IUserQueries <UserDTO> userQueries)
 {
     _userCommands = userCommands;
     _userQueries  = userQueries;
 }
 public LoginUserOperation(SensorContext context, IHttpContextAccessor httpContextAccessor, INoAuthorization <LoginDto> authorization, IUserQueries userQueries) : base(context, httpContextAccessor, authorization)
 {
     _userQueries = userQueries;
 }
Ejemplo n.º 21
0
 public UsersController(IMediator mediator, IUserQueries userQueries, ILogger <UsersController> logger)
 {
     _userQueries = userQueries ?? throw new ArgumentNullException(nameof(userQueries));
     _mediator    = mediator ?? throw new ArgumentNullException(nameof(mediator));
     _logger      = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Ejemplo n.º 22
0
        private static async Task EnsureData(
            ISiteQueries siteQueries,
            ISiteCommands siteCommands,
            IUserQueries userQueries,
            IUserCommands userCommands,
            IGeoQueries geoQueries,
            IGeoCommands geoCommands,
            IBasicQueries <SiteRole> roleQueries,
            IBasicQueries <SiteUser> userBasic

            )
        {
            int count = await geoQueries.GetCountryCount();

            if (count == 0)
            {
                foreach (GeoCountry c in InitialData.BuildCountryList())
                {
                    await geoCommands.Add(c);
                }

                foreach (GeoZone c in InitialData.BuildStateList())
                {
                    await geoCommands.Add(c);
                }
            }

            count = await siteQueries.GetCount();

            SiteSettings newSite = null;

            Guid siteId = Guid.Empty;

            if (count == 0)
            {
                // create first site
                newSite = InitialData.BuildInitialSite();
                await siteCommands.Create(newSite);

                siteId = newSite.Id;
            }
            else if (count == 1)
            {
                var allSites = await siteQueries.GetList().ConfigureAwait(false);

                var site = allSites[0];
                if (site != null)
                {
                    siteId = site.Id;
                }
            }
            else
            {
                return;
            }

            // ensure roles
            //var projectId = await projectResolver.ResolveProjectId();
            var projectId = siteId.ToString();;


            count = await roleQueries.GetCountAsync(projectId);

            if (count == 0)
            {
                var adminRole = InitialData.BuildAdminRole();
                adminRole.SiteId = siteId;
                await userCommands.CreateRole(adminRole);

                var roleAdminRole = InitialData.BuildRoleAdminRole();
                roleAdminRole.SiteId = siteId;
                await userCommands.CreateRole(roleAdminRole);

                var contentAdminRole = InitialData.BuildContentAdminsRole();
                contentAdminRole.SiteId = siteId;
                await userCommands.CreateRole(contentAdminRole);

                var authenticatedUserRole = InitialData.BuildAuthenticatedRole();
                authenticatedUserRole.SiteId = siteId;
                await userCommands.CreateRole(authenticatedUserRole);
            }

            // ensure admin user
            count = await userBasic.GetCountAsync(projectId);

            if (count == 0)
            {
                var role = await userQueries.FetchRole(newSite.Id, "Administrators");

                if (role != null)
                {
                    var adminUser = InitialData.BuildInitialAdmin();
                    adminUser.SiteId         = siteId;
                    adminUser.CanAutoLockout = false;
                    await userCommands.Create(adminUser);

                    await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id);

                    role = await userQueries.FetchRole(siteId, "Authenticated Users");

                    if (role != null)
                    {
                        await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id);
                    }
                }
            }
        }
Ejemplo n.º 23
0
        private static async Task EnsureData(
            ISiteQueries siteQueries,
            ISiteCommands siteCommands,
            IUserQueries userQueries,
            IUserCommands userCommands,
            IGeoQueries geoQueries,
            IGeoCommands geoCommands,
            IBasicQueries <SiteRole> roleQueries,
            IBasicQueries <SiteUser> userBasic,
            IProjectResolver projectResolver
            )
        {
            int count = await geoQueries.GetCountryCount();

            if (count == 0)
            {
                foreach (GeoCountry c in InitialData.BuildCountryList())
                {
                    await geoCommands.Add(c);
                }

                foreach (GeoZone c in InitialData.BuildStateList())
                {
                    await geoCommands.Add(c);
                }
            }

            //count = await geoQueries.GetLanguageCount();
            //if (count == 0)
            //{
            //    foreach (Language c in InitialData.BuildLanguageList())
            //    {
            //        await geoCommands.Add(c);
            //    }
            //}

            var all = await geoQueries.GetAllCurrencies();

            count = all.Count;
            if (count == 0)
            {
                foreach (Currency c in InitialData.BuildCurrencyList())
                {
                    await geoCommands.Add(c);
                }
            }

            count = await siteQueries.GetCount();

            SiteSettings newSite = null;

            if (count == 0)
            {
                // create first site
                newSite = InitialData.BuildInitialSite();
                await siteCommands.Create(newSite);
            }

            // ensure roles
            var projectId = await projectResolver.ResolveProjectId();

            count = await roleQueries.GetCountAsync(projectId);

            if (count == 0)
            {
                var adminRole = InitialData.BuildAdminRole();
                adminRole.SiteId = newSite.Id;
                await userCommands.CreateRole(adminRole);

                var roleAdminRole = InitialData.BuildRoleAdminRole();
                roleAdminRole.SiteId = newSite.Id;
                await userCommands.CreateRole(roleAdminRole);

                var contentAdminRole = InitialData.BuildContentAdminsRole();
                contentAdminRole.SiteId = newSite.Id;
                await userCommands.CreateRole(contentAdminRole);

                var authenticatedUserRole = InitialData.BuildAuthenticatedRole();
                authenticatedUserRole.SiteId = newSite.Id;
                await userCommands.CreateRole(authenticatedUserRole);
            }

            // ensure admin user
            count = await userBasic.GetCountAsync(projectId);

            if (count == 0)
            {
                var role = await userQueries.FetchRole(newSite.Id, "Administrators");

                if (role != null)
                {
                    var adminUser = InitialData.BuildInitialAdmin();
                    adminUser.SiteId = newSite.Id;
                    await userCommands.Create(adminUser);

                    await userCommands.AddUserToRole(role.Id, adminUser.Id);

                    role = await userQueries.FetchRole(newSite.Id, "Authenticated Users");

                    if (role != null)
                    {
                        await userCommands.AddUserToRole(role.Id, adminUser.Id);
                    }
                }
            }
        }
Ejemplo n.º 24
0
 public LoginCommandHandler(IAuthenRepository authenRepository, IUserQueries userQueries)
 {
     this.authenRepository = authenRepository;
     this.userQueries      = userQueries;
 }
 public ReplyEmailNotification(ISmtpClient client, IUserQueries userQueries)
 {
     _client      = client;
     _userQueries = userQueries;
 }
Ejemplo n.º 26
0
 protected QueryDirectory(ICustomerQueries customer, IUserQueries user)
 {
     this.customer = customer;
     this.user     = user;
 }
Ejemplo n.º 27
0
 public UserController(ILogger <UserController> logger, IUserQueries queries)
 {
     _logger  = logger;
     _queries = queries;
 }
Ejemplo n.º 28
0
 public UsersService(IUserQueries userQueries, IUserCommands userCommands)
 {
     mUserQueries = userQueries;
     mUserCommands = userCommands;
 }
Ejemplo n.º 29
0
        private static async Task EnsureData(
            ISiteQueries siteQueries,
            ISiteCommands siteCommands,
            IUserQueries userQueries,
            IUserCommands userCommands,
            IGeoQueries geoQueries,
            IGeoCommands geoCommands,
            IBasicQueries<SiteRole> roleQueries,
            IBasicQueries<SiteUser> userBasic
            
            )
        {
            
            int count = await geoQueries.GetCountryCount();
            if (count == 0)
            {
                foreach (GeoCountry c in InitialData.BuildCountryList())
                {
                    await geoCommands.Add(c);
                }

                foreach (GeoZone c in InitialData.BuildStateList())
                {
                    await geoCommands.Add(c);
                }
            }
            
            count = await siteQueries.GetCount();
            SiteSettings newSite = null;
            
            Guid siteId = Guid.Empty;
            if (count == 0)
            {
                // create first site
                newSite = InitialData.BuildInitialSite();
                await siteCommands.Create(newSite);
                siteId = newSite.Id;
                
            }
            else if(count == 1)
            {
                var allSites = await siteQueries.GetList().ConfigureAwait(false);
                var site = allSites[0];
                if (site != null) siteId = site.Id;
            }
            else
            {
                return;
            }

            // ensure roles
            //var projectId = await projectResolver.ResolveProjectId();
            var projectId = siteId.ToString(); ;


            count = await roleQueries.GetCountAsync(projectId);
            if (count == 0)
            {
                var adminRole = InitialData.BuildAdminRole();
                adminRole.SiteId = siteId;
                await userCommands.CreateRole(adminRole);
                
                var roleAdminRole = InitialData.BuildRoleAdminRole();
                roleAdminRole.SiteId = siteId;
                await userCommands.CreateRole(roleAdminRole);
                
                var contentAdminRole = InitialData.BuildContentAdminsRole();
                contentAdminRole.SiteId = siteId;
                await userCommands.CreateRole(contentAdminRole);

                var authenticatedUserRole = InitialData.BuildAuthenticatedRole();
                authenticatedUserRole.SiteId = siteId;
                await userCommands.CreateRole(authenticatedUserRole);
                
            }

            // ensure admin user
            count = await userBasic.GetCountAsync(projectId);

            if (count == 0)
            {
                var role = await userQueries.FetchRole(newSite.Id, "Administrators");
                
                if (role != null)
                {
                    var adminUser = InitialData.BuildInitialAdmin();
                    adminUser.SiteId = siteId;
                    await userCommands.Create(adminUser);
                    
                    await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id);

                    role = await userQueries.FetchRole(siteId, "Authenticated Users");
                    
                    if (role != null)
                    {
                        await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id);
                    }
                }
                
            }

        }
Ejemplo n.º 30
0
 public LoginAnotherCommandHandler(IUserRepository userRepository, IUserQueries userQueries)
 {
     this.userRepository = userRepository;
     this.userQueries    = userQueries;
 }
Ejemplo n.º 31
0
 public UserController(IUserQueries userQueries, IMediator mediator, ISmtpServices smtpServices)
 {
     _userQueries  = userQueries;
     _mediator     = mediator;
     _smtpServices = smtpServices;
 }
 public ViewUser(IUserQueries userQueries, ICurrentAuthenticatedUserProvider currentAuthenticatedUserProvider)
 {
     this._userQueries = userQueries ?? throw new ArgumentNullException(nameof(userQueries));
     this._currentAuthenticatedUserProvider = currentAuthenticatedUserProvider ?? throw new ArgumentNullException(nameof(currentAuthenticatedUserProvider));
 }
 public APIUsersController(IMediator mediator, IUserQueries userQueries, IMapper mapper)
 {
     _mediator    = mediator ?? throw new ArgumentNullException(nameof(mediator));
     _userQueries = userQueries ?? throw new ArgumentNullException(nameof(userQueries));
     _mapper      = mapper ?? throw new ArgumentNullException(nameof(mapper));
 }
Ejemplo n.º 34
0
 /// <summary>
 /// create new user
 /// </summary>
 /// <param name="mediator"></param>
 /// <param name="queries"></param>
 public UserController(IMediator mediator, IUserQueries queries)
 {
     _mediator = mediator.NotNull(nameof(mediator));
     _queries  = queries.NotNull(nameof(mediator));
 }