/// <summary>
        /// Проверяет данные подлючающегося клиента
        /// </summary>
        /// <param name="userName">Логин клиента</param>
        /// <param name="password">Пароль клиента</param>
        public override void Validate(string userName, string password)
        {
            try
            {
                //using (var connection = new EntityConnection("name=cissaEntities"))
                {
                    //using (var dataContext = new DataContext(connection))
                    {
                        BaseServiceFactory.CreateBaseServiceFactories();

                        var dataContextFactory = DataContextFactoryProvider.GetFactory();
                        using (var multiDC = dataContextFactory.CreateMultiDc(BaseServiceFactory.DataContextConfigSectionName))
                        {
                            var providerFactory = AppServiceProviderFactoryProvider.GetFactory();
                            var serviceProvider = providerFactory.Create(multiDC);

                            var userRepo = serviceProvider.Get <IUserRepository>(); //new UserRepository(dataContext);

                            if (userRepo.Validate(userName, password))
                            {
                                return;
                            }
                        }

                        Thread.Sleep(1000); // притормозим выполнение для сложности подбора пароля
                        throw new SecurityTokenException("Unknown Username or Password");
                    }
                }
            }
            catch (Exception e)
            {
                try
                {
                    using (var writer = new StreamWriter(Logger.GetLogFileName("bizServiceValidate"), true))
                    {
                        writer.WriteLine("{0}: Log error for username: \"{1}\"; message: \"{2}\"",
                                         DateTime.Now,
                                         userName, e.Message);
                        if (e.InnerException != null)
                        {
                            writer.WriteLine("  - inner exception: \"{0}\"", e.InnerException.Message);
                        }
                        writer.WriteLine("  -- Stack: {0}", e.StackTrace);
                        writer.WriteLine(Directory.GetCurrentDirectory());
//                        writer.WriteLine(HostingEnvironment.MapPath("."));
                    }
                }
                catch
                {
                    // ignored
                }
                throw;
            }
        }
Example #2
0
        static IAppServiceProvider InitProvider(string username, Guid userId)
        {
            var dataContextFactory = DataContextFactoryProvider.GetFactory();

            var dataContext = dataContextFactory.CreateMultiDc("DataContexts");

            BaseServiceFactory.CreateBaseServiceFactories();
            var providerFactory    = AppServiceProviderFactoryProvider.GetFactory();
            var provider           = providerFactory.Create(dataContext);
            var serviceRegistrator = provider.Get <IAppServiceProviderRegistrator>();

            serviceRegistrator.AddService(new UserDataProvider(userId, username));
            return(provider);
        }
        public void ValidateSecurityUserName()
        {
            //using (var connection = new SqlConnection(ConnectionString))
            {
                //using (var dataContext = new DataContext(connection))
                {
                    BaseServiceFactory.CreateBaseServiceFactories();

                    using (var multiDc = new MultiDataContext(BaseServiceFactory.DataContextConfigSectionName /*new[] {dataContext}*/))
                    {
                        var providerFactory = AppServiceProviderFactoryProvider.GetFactory();
                        var serviceProvider = providerFactory.Create(multiDc);

                        var userRepo = serviceProvider.Get <IUserRepository>(); //new UserRepository(dataContext);

                        Console.WriteLine(userRepo.GetType().Name);
                        Assert.IsTrue(userRepo.Validate("R", "803"));
                    }
                }
            }
        }
        public Service()
        {
            if (dataContextFactory == null)
            {
                dataContextFactory = DataContextFactoryProvider.GetFactory();

                if (dataContext == null)
                {
                    dataContext = dataContextFactory.CreateMultiDc("DataContexts");
                    BaseServiceFactory.CreateBaseServiceFactories();
                    if (providerFactory == null)
                    {
                        providerFactory = AppServiceProviderFactoryProvider.GetFactory();
                        if (provider == null)
                        {
                            provider = providerFactory.Create(dataContext);
                        }
                    }
                }
            }
        }
Example #5
0
 static BizService()
 {
     BaseServiceFactory.CreateBaseServiceFactories();
 }