/// <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; } }
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); } } } } }
static BizService() { BaseServiceFactory.CreateBaseServiceFactories(); }