public OnPremFirstTimeSetupService(
     IUsersContext usersContext,
     ISecurePackedHashProvider securePackedHashProvider,
     IHashConfigurationProvider hashConfigurationProvider)
     : base(usersContext, securePackedHashProvider, hashConfigurationProvider)
 {
 }
예제 #2
0
        private Vendor FindOrCreateVendorByDomainName(IUsersContext context, string vendorName, string namePrefix)
        {
            var vendor = context.Vendors.SingleOrDefault(v => v.VendorName == vendorName);

            if (vendor == null)
            {
                vendor = new Vendor
                {
                    VendorName = vendorName
                };

                vendor.VendorNamespacePrefixes.Add(
                    new VendorNamespacePrefix
                {
                    Vendor = vendor, NamespacePrefix = namePrefix
                });

                context.Vendors.AddOrUpdate(vendor);

                //TODO: DEA - Move this behavior to happen during client creation.  No need to do this in two places.  At a minimum, remove the duplicated code.
                CreateDefaultApplicationForVendor(context, vendor);
            }

            return(vendor);
        }
예제 #3
0
파일: UserCreate.cs 프로젝트: eakarpov/Web
        public User PrepareUserEntity(IUsersContext usersContext, IGroupRepository groupRepository, IHashCalculator hashCalculator)
        {
            User user;

            if (Role == UserRole.Student)
            {
                var student = usersContext.Users.CreateNew <Student>();
                student.Group      = groupRepository.GetGroupById(GroupID);
                student.IsVerified = true;

                user = student;
            }
            else
            {
                user = usersContext.Users.CreateNew();
            }

            user.Surname      = Surname;
            user.Name         = Name;
            user.FatherName   = FatherName;
            user.Email        = Email;
            user.Role         = Role;
            user.PasswordHash = hashCalculator.Crypt(Pass);

            return(user);
        }
예제 #4
0
 public CompleteAzureFirstTimeSetupCommand(
     IUsersContext usersContext,
     IAzureSqlSecurityConfigurator cloudOdsSqlConfigurator,
     ISecurityContext securityContext,
     ICloudOdsClaimSetConfigurator cloudOdsClaimSetConfigurator,
     IGetCloudOdsInstanceQuery getCloudOdsInstanceQuery,
     IGetAzureCloudOdsHostedComponentsQuery getCloudOdsHostedComponentQuery,
     IOdsSecretConfigurationProvider odsSecretConfigurationProvider,
     ICloudOdsDatabaseSqlServerSecurityConfiguration cloudOdsDatabaseSqlServerSecurityConfiguration,
     IOdsInstanceFirstTimeSetupService odsInstanceFirstTimeSetupService,
     IRestartAppServicesCommand restartAppServicesCommand,
     IAssessmentVendorAdjustment assessmentVendorAdjustment,
     ILearningStandardsSetup learningStandardsSetup)
 {
     _restartAppServicesCommand  = restartAppServicesCommand;
     _assessmentVendorAdjustment = assessmentVendorAdjustment;
     _learningStandardsSetup     = learningStandardsSetup;
     _usersContext                     = usersContext;
     _cloudOdsSqlConfigurator          = cloudOdsSqlConfigurator;
     _securityContext                  = securityContext;
     _cloudOdsClaimSetConfigurator     = cloudOdsClaimSetConfigurator;
     _getCloudOdsInstanceQuery         = getCloudOdsInstanceQuery;
     _getCloudOdsHostedComponentsQuery = getCloudOdsHostedComponentQuery;
     _odsSecretConfigurationProvider   = odsSecretConfigurationProvider;
     _cloudOdsDatabaseSqlServerSecurityConfiguration = cloudOdsDatabaseSqlServerSecurityConfiguration;
     _odsInstanceFirstTimeSetupService = odsInstanceFirstTimeSetupService;
 }
 public ArticleRepository(IArticleContext context, ICategoriesContext categoryContext, IUsersContext userContext, IMapper mapper)
 {
     _mapper          = mapper;
     _context         = context;
     _userContext     = userContext;
     _categoryContext = categoryContext;
 }
예제 #6
0
 public UserRepositoryTests()
 {
     _MockUsers     = new MockUsers();                                                   //Object of the MockUsers class
     _MockDBSet     = NSubstitueUtils.CreateMockDbSet(_MockUsers.Users);                 //Creating a MockDBset of the MockUsers's Users list
     _DBContextMock = Substitute.For <IUsersContext>();
     _DBContextMock.Users.Returns(_MockDBSet);
     _Users = new UserRepository(_DBContextMock);                                        //Passing in the DBContextMock object as a context object to the UserRepository class
 }
 // for testing purposes
 public AuthenticationService(
     AppSettings appSettings,
     IUsersContext usersContext
     )
 {
     _appSettings  = appSettings;
     _usersContext = usersContext;
 }
예제 #8
0
        public BulkFileUploadModelValidator(IUsersContext usersContext)
        {
            _usersContext = usersContext;

            RuleFor(m => m.ApiKey)
            .Must(BeAssociatedWithValidApplication)
            .When(m => !string.IsNullOrEmpty(m.ApiKey))
            .WithMessage("Provided Api Key is not associated with any application. Please reset the credentials.");
        }
예제 #9
0
 public Step2InputGroup(IUsersContext db, IVkUtils vk)
     : base(db)
 {
     _vk         = vk;
     _resultText = new Dictionary <PreferenceType, string> {
         { PreferenceType.VkGroup, "в этой группе" },
         { PreferenceType.VkUser, "на стене пользователя" }
     };
 }
예제 #10
0
 public UserStore(IUsersContext context)
 {
     _usersTable       = new UsersTable(context);
     _usersRolesTable  = new UserRolesTable(context);
     _rolesTable       = new RolesTable(context);
     _usersClaimsTable = new UserClaimsTable(context);
     _usersLoginsTable = new UserLoginsTable(context);
     _userTokensTable  = new UserTokensTable(context);
 }
예제 #11
0
 public UserController(
     IUserRepository userRepository,
     IGroupRepository groupRepository,
     IHashCalculator hashCalculator,
     IUsersContext usersContext)
 {
     _userRepository  = userRepository;
     _groupRepository = groupRepository;
     _hashCalculator  = hashCalculator;
     _usersContext    = usersContext;
 }
예제 #12
0
 public EnableLearningStandardsSetupCommand(
     ISetupAcademicBenchmarksConnectService academicBenchmarksConnectService,
     IUsersContext usersContext,
     IOdsSecretConfigurationProvider odsSecretConfigurationProvider,
     InstanceContext instanceContext)
 {
     _academicBenchmarksConnectService = academicBenchmarksConnectService;
     _odsSecretConfigurationProvider   = odsSecretConfigurationProvider;
     _instanceContext = instanceContext;
     _usersContext    = usersContext;
 }
예제 #13
0
        public SaveBulkUploadCredentialsModelValidator(IUsersContext usersContext, InstanceContext instanceContext)
        {
            _usersContext    = usersContext;
            _instanceContext = instanceContext;

            RuleFor(m => m.ApiKey).NotEmpty();
            RuleFor(m => m.ApiSecret).NotEmpty();
            RuleFor(m => m.ApiKey)
            .Must(BeAssociatedToTheSelectedInstance)
            .When(m => !string.IsNullOrEmpty(m.ApiKey))
            .WithMessage("The Api Key provided is not associated with the currently selected ODS instance.");
        }
예제 #14
0
        public AzureFirstTimeSetupService(
            IUsersContext usersContext,
            ISecurityContext securityContext,
            ISecurePackedHashProvider securePackedHashProvider,
            IHashConfigurationProvider hashConfigurationProvider)
            : base(usersContext, securePackedHashProvider, hashConfigurationProvider)
        {
            MaxAttempts   = 5;
            RunsAttempted = 0;

            _securityContext = securityContext;
        }
        private void GuardAgainstInvalidEntityReferences(Request request, IUsersContext db)
        {
            if (null == db.Vendors.Find(request.VendorId))
            {
                throw new ValidationException(new [] { new ValidationFailure(nameof(request.VendorId), $"Vendor with ID {request.VendorId} not found.") });
            }

            if (request.ProfileId.HasValue && db.Profiles.Find(request.ProfileId) == null)
            {
                throw new ValidationException(new [] { new ValidationFailure(nameof(request.ProfileId), $"Profile with ID {request.ProfileId} not found.") });
            }
        }
예제 #16
0
        private ApiClient CreateApiClient(
            IUsersContext context,
            int userId,
            string name,
            SandboxType sandboxType,
            string key,
            string secret)
        {
            var attachedUser = context.Users.Find(userId);

            return(attachedUser.AddSandboxClient(name, sandboxType, key, secret));
        }
예제 #17
0
 public UsersController(hairdressing_project_dbContext context,
                        IAuthenticationService authenticationService,
                        IAuthorizationService authorizationService,
                        IEmailService emailService,
                        IUsersContext usersContext)
 {
     _context = context;
     _authenticationService = authenticationService;
     _authorizationService  = authorizationService;
     _emailService          = emailService;
     _usersContext          = usersContext;
 }
 public OdsInstanceFirstTimeSetupService(IOdsSecretConfigurationProvider odsSecretConfigurationProvider,
                                         IFirstTimeSetupService firstTimeSetupService,
                                         IUsersContext usersContext,
                                         IReportViewsSetUp reportViewsSetUp,
                                         AdminAppDbContext database)
 {
     _odsSecretConfigurationProvider = odsSecretConfigurationProvider;
     _firstTimeSetupService          = firstTimeSetupService;
     _usersContext     = usersContext;
     _reportViewsSetUp = reportViewsSetUp;
     _database         = database;
 }
 public CompleteAzureOdsPostUpdateSetupCommand(
     IGetCloudOdsInstanceQuery getCloudOdsInstanceQuery,
     IAssessmentVendorAdjustment assessmentVendorAdjustment,
     ILearningStandardsSetup learningStandardsSetup,
     IRestartAppServicesCommand restartAppServicesCommand,
     IUsersContext usersContext)
 {
     _getCloudOdsInstanceQuery   = getCloudOdsInstanceQuery;
     _assessmentVendorAdjustment = assessmentVendorAdjustment;
     _learningStandardsSetup     = learningStandardsSetup;
     _restartAppServicesCommand  = restartAppServicesCommand;
     _usersContext = usersContext;
 }
예제 #20
0
 public SetupAcademicBenchmarksConnectService(IUsersContext usersContext
                                              , ISecurePackedHashProvider securePackedHashProvider
                                              , IHashConfigurationProvider hashConfigurationProvider
                                              , IOdsSecretConfigurationProvider odsSecretConfigurationProvider
                                              , InstanceContext instanceContext
                                              )
 {
     _usersContext                   = usersContext;
     _securePackedHashProvider       = securePackedHashProvider;
     _hashConfigurationProvider      = hashConfigurationProvider;
     _odsSecretConfigurationProvider = odsSecretConfigurationProvider;
     _instanceContext                = instanceContext;
 }
예제 #21
0
        private void AddApplicationEducationOrganizations(IUsersContext context, int applicationId, ApiClient client)
        {
            var defaultApplication = context.Applications
                                     .Include(a => a.ApplicationEducationOrganizations)
                                     .First(a => a.ApplicationId == applicationId);

            client.Application = defaultApplication;

            foreach (var applicationEducationOrganization in defaultApplication.ApplicationEducationOrganizations)
            {
                client.ApplicationEducationOrganizations.Add(applicationEducationOrganization);
            }
        }
        public async Task <IResult> Handle(IEditApplicationCommand editApplicationCommand, IMapper mapper,
                                           Validator validator, IUsersContext db, Request request, int id)
        {
            request.ApplicationId = id;
            await validator.GuardAsync(request);

            GuardAgainstInvalidEntityReferences(request, db);

            var updatedApplication = editApplicationCommand.Execute(request);
            var model = mapper.Map <ApplicationModel>(updatedApplication);

            return(AdminApiResponse <ApplicationModel> .Updated(model, "Application"));
        }
예제 #23
0
        /// <summary>
        /// Something wrong with saving changes - trying to save a new user as well
        /// </summary>
        /// <returns></returns>
        public bool LogHistory(IUsersContext db, User user, DateTime time, bool toUser, string text)
        {
            var history = new ChatHistoryItem()
            {
                MessageText = text,
                ToUser      = toUser,
                User        = user,
                Sent        = time,
            };

            db.ChatHistory.Add(history);
            db.SaveChanges();
            return(true);
        }
        private Application GetApplication(IUsersContext context, Vendor vendor, string applicationName)
        {
            if (vendor.Applications.Any(x => x.ApplicationName == applicationName))
            {
                return(vendor.Applications.Single(x => x.ApplicationName == applicationName));
            }

            var defaultClaimSetName = _configuration.GetSection("DefaultClaimSetName").Value;
            var newApplication      = vendor.CreateApplication(applicationName, defaultClaimSetName);

            newApplication.OperationalContextUri = _configuration.GetSection("DefaultOperationalContextUri").Value;
            context.Applications.Add(newApplication);
            return(newApplication);
        }
예제 #25
0
 public CompleteOnPremFirstTimeSetupCommand(
     IUsersContext usersContext,
     ISecurityContext securityContext,
     ICloudOdsClaimSetConfigurator cloudOdsClaimSetConfigurator,
     IOdsInstanceFirstTimeSetupService firstTimeSetupService,
     IAssessmentVendorAdjustment assessmentVendorAdjustment,
     ILearningStandardsSetup learningStandardsSetup)
 {
     _assessmentVendorAdjustment = assessmentVendorAdjustment;
     _learningStandardsSetup     = learningStandardsSetup;
     _usersContext    = usersContext;
     _securityContext = securityContext;
     _cloudOdsClaimSetConfigurator = cloudOdsClaimSetConfigurator;
     _firstTimeSetupService        = firstTimeSetupService;
 }
예제 #26
0
        /// <summary>
        /// Loguje uzytkownika w aplikacji.
        /// </summary>
        /// <param name="context">Kontekst bazy danych.</param>
        /// <param name="username">Nazwa użytkownika.</param>
        /// <param name="password">Hasło użytkownika.</param>
        /// <returns>SignInResult dla usera, jeśli wszystko przebiegło poprawnie, w przeciwnym razie null.</returns>
        public SignInResult SignIn(IUsersContext context, string username, string password)
        {
            CustomIdentity identity =
                _authenticationService.AuthenticateUser(context, username, password);

            if (identity != null)
            {
                var user  = new CustomPrincipal(username);
                var token = GetToken();
                while (!SignedInUsers.TryAdd(token, user)) //trzeba wygenerować unikalny token
                {
                    token = GetToken();
                }
                return(new SignInResult(user, token));
            }
            return(null);
        }
예제 #27
0
 /// <summary>
 /// Autoryzuje użytkownika o podanym loginie i haśle.
 /// </summary>
 /// <param name="context">Kontekst bazy danych</param>
 /// <param name="username">Nazwa użytkownika do autoryzacji.</param>
 /// <param name="password">Hasło użytkownika do autoryzacji (plain text).</param>
 /// <returns>Obiekt CustomIdentity odpowiadający użytkownikowi lub null gdy autoryzacja przebiegła niepomyślnie.</returns>
 public CustomIdentity AuthenticateUser(IUsersContext context, string username, string password)
 {
     try
     {
         User user = context.Users.FirstOrDefault(x => x.Username.Equals(username));
         if (user == null || user.Username.Length != username.Length)
         {
             return(null);
         }
         string hash = PasswordHashHelper.CalculateHash(password, user.Salt);
         return(user.HashedPassword.Equals(hash) ? new CustomIdentity(username) : null);
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #28
0
        private void CreateDefaultApplicationForVendor(IUsersContext context, Vendor vendor)
        {
            var defaultAppName               = _configValueProvider.GetValue("DefaultApplicationName");
            var defaultClaimSetName          = _configValueProvider.GetValue("DefaultClaimSetName");
            var defaultOperationalContextUri = _configValueProvider.GetValue("DefaultOperationalContextUri");

            var app =
                context.Applications.SingleOrDefault(
                    a => a.ApplicationName == defaultAppName && a.Vendor.VendorId == vendor.VendorId);

            if (app != null)
            {
                return;
            }

            context.Applications.AddOrUpdate(
                new Application
            {
                ApplicationName       = defaultAppName, Vendor = vendor, ClaimSetName = defaultClaimSetName,
                OperationalContextUri = defaultOperationalContextUri
            });
        }
예제 #29
0
        public TelegramMessageRouter(IUsersContext db, IHistoryLogger historyLogger, IMessageSender messageSender, IVkUtils vk, Settings settings)
        {
            _db            = db;
            _historyLogger = historyLogger;
            _messageSender = messageSender;
            _logger        = LogManager.GetCurrentClassLogger();

            _myMessageHandlers = new List <BaseTgMessageHandler>
            {
                new Step2InputGroup(_db, vk),
                new Step3InputKeyword(_db, settings),
                new UpdateKeywords(_db),
                new RemoveSettingsStep2(_db),
                new Step1AddNewAlarms(_db, settings),
                new EditExistingSettings(_db),
                new RemoveSettingsStep1(_db),
                new GetAllUsers(_db, settings),
                new SetUserStatus(_db, settings),
                new DownloadDbFile(_db, settings),
                new HelpHandler(_db)
            };
        }
예제 #30
0
 public RegenerateApiClientSecretCommand(IUsersContext context)
 {
     _context = context;
 }