private static void MockUser() { using (var uow = Ioc.Container.Get <IGestionAdministrativaUow>()) { // var defaultUserId = Guid.Parse("a1ef533d-4016-497c-b065-61de49926181"); //Gabriel var defaultUserId = Guid.Parse("004045db-2b27-4ad7-8a96-a7b372aae7cf"); //Maria // var defaultUserId = Guid.Parse("f273ae90-a217-49f8-a581-7df22b150ba0"); //Abel var defaultSucursalId = 1; //Validate credentials through the authentication service Operador user = uow.Operadores.Obtener(o => o.Id == defaultUserId //, o => o.Roles, // o => o.Personal // ,o => o.Personal.Provincia, //o => o.Personal.Localidad, // o => o.OperadorSucursals.Select(op => op.Sucursal) ); Sucursal sucursal = uow.Sucursales.Obtener(s => s.Id == defaultSucursalId); //Get the current principal object GestionAdministrativaPrincipal gestionAdministrativaPrincipal = Thread.CurrentPrincipal as GestionAdministrativaPrincipal; if (gestionAdministrativaPrincipal == null) { throw new ArgumentException("The application's default thread principal must be set to a CustomPrincipal object on startup."); } //Authenticate the user gestionAdministrativaPrincipal.Identity = new GestionAdministrativaIdentity(user, sucursal); } }
private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #if (!DEBUG) Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.ThreadException += ApplicationOnThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; #endif AutoMapperConfig.Execute(); MetadataTypesRegister.InstallForThisAssembly(); AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; using (var kernel = new StandardKernel()) { //Configurar bindings IoCConfig.Configure(kernel); //Set global container. Ioc.Container = new NinjectIocContainer(kernel); //Framework.Ioc.Ninject. = new NinjectIocContainer(kernel); //Config log4net log4net.Config.DOMConfigurator.Configure(); MessageBoxDisplayService = Ioc.Container.Get<IMessageBoxDisplayService>(); //// Create a custom principal with an anonymous identity at startup var gestionAdministrativaPrincipal = new GestionAdministrativaPrincipal(); AppDomain.CurrentDomain.SetThreadPrincipal(gestionAdministrativaPrincipal); #if(MOCK_SECURITY) MockUser(); #else using (var login = kernel.Get<FrmLogin>()) { var result = login.ShowDialog(); if (result == DialogResult.Cancel) { Application.Exit(); return; } } #endif RunAfterLoginTasks(); var mainForm = kernel.Get<FrmPrincipal>(); Application.Run(mainForm); } }
private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #if (!DEBUG) Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.ThreadException += ApplicationOnThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; #endif AutoMapperConfig.Execute(); MetadataTypesRegister.InstallForThisAssembly(); AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; using (var kernel = new StandardKernel()) { //Configurar bindings IoCConfig.Configure(kernel); //Set global container. Ioc.Container = new NinjectIocContainer(kernel); //Framework.Ioc.Ninject. = new NinjectIocContainer(kernel); //Config log4net log4net.Config.DOMConfigurator.Configure(); MessageBoxDisplayService = Ioc.Container.Get <IMessageBoxDisplayService>(); //// Create a custom principal with an anonymous identity at startup var gestionAdministrativaPrincipal = new GestionAdministrativaPrincipal(); AppDomain.CurrentDomain.SetThreadPrincipal(gestionAdministrativaPrincipal); #if (MOCK_SECURITY) MockUser(); #else using (var login = kernel.Get <FrmLogin>()) { var result = login.ShowDialog(); if (result == DialogResult.Cancel) { Application.Exit(); return; } } #endif RunAfterLoginTasks(); var mainForm = kernel.Get <FrmPrincipal>(); Application.Run(mainForm); } }
private void BtnIngresar_Click(object sender, EventArgs e) { var clearTextPassword = TxtPassword.Text; var username = CbxUsuario.Usuario; this.FormErrorProvider.Clear(); if (string.IsNullOrEmpty(username)) { this.FormErrorProvider.SetError(CbxUsuario, "Debe ingresar un usuario"); this.DialogResult = DialogResult.None; return; } if (string.IsNullOrEmpty(clearTextPassword)) { this.FormErrorProvider.SetError(TxtPassword, "Debe ingresar una clave"); this.DialogResult = DialogResult.None; return; } if (UcSucursales.Sucursal == null) { this.FormErrorProvider.SetError(UcSucursales, "Debe seleccionar una sucursal"); this.DialogResult = DialogResult.None; return; } try { //Validate credentials through the authentication service Operador user = _authenticationService.AuthenticateUser(username, clearTextPassword); Sucursal sucursal = UcSucursales.Sucursal; //Get the current principal object GestionAdministrativaPrincipal laPazPrincipal = Thread.CurrentPrincipal as GestionAdministrativaPrincipal; if (laPazPrincipal == null) { throw new ArgumentException("The application's default thread principal must be set to a CustomPrincipal object on startup."); } var sucursalValida = user.OperadoresSucursales.Any(s => s.SucursalId == sucursal.Id); if (!sucursalValida) { this.FormErrorProvider.SetError(UcSucursales, "No esta habilitado para ingresar con esta sucursal"); this.DialogResult = DialogResult.None; return; } if (RolesAceptados != null && RolesAceptados.Any()) { if (!(user.Roles.Select(r => r.Description).Any(r => RolesAceptados.Any(ra => ra == r)))) { _messageBoxDisplayService.ShowError(Resources.ErrorMessageRolesRequeridos); this.DialogResult = DialogResult.None; return; } } if (CambiarIdentity) { //Authenticate the user laPazPrincipal.Identity = new GestionAdministrativaIdentity(user, sucursal); } UltimoOperadorIngresado = user; } catch (UnauthorizedAccessException) { _messageBoxDisplayService.ShowError("La credenciales ingresadas no son correctas"); this.DialogResult = DialogResult.None; } }