private void btnLogin_Click(object sender, EventArgs e) { if (menuLateral.Width >= 220) { string usuario = tbUsuario.Text; string pass = tbPass.Text; accionLogearDesloguear(usuario, pass); UsuarioConectado.resetearUsuarioConectado(); } else { this.lblConectado.Visible = true; if (btnCursos.BackColor != Color.FromArgb(73, 55, 34)) { this.tmMostrarMenu.Enabled = true; } else { menuLateral.Width = 220; } if (UsuarioConectado.nombre.Equals("invitado")) { m.mostrarLogin(this.tmMostrarLogin); } } }
public UsuarioConectado Login(string usuario, string senha) { UsuarioConectado usuarioConectado = _validadorUsuario.Validar(usuario, senha); _authenticationProvider.Autenticar(usuarioConectado); return(usuarioConectado); }
public void ConsigoMeConectarComCredenciaisValidas() { UsuarioConectado usuarioConectado = _validadorUsuario.Validar("logistica", "123"); Assert.IsNotNull(usuarioConectado); Assert.AreEqual("logistica", usuarioConectado.Login); Assert.AreEqual(1, usuarioConectado.Perfis.Count(x => x == Enumeradores.Perfil.CompradorLogistica)); _usuariosMock.Verify(x => x.BuscaPorLogin(It.IsAny <string>()), Times.Once()); }
public IActionResult Login(string username, string password) { List <Producto> lsp = new List <Producto>(); UsuarioConectado userLoged = new UsuarioConectado(); Usuario usuario = new Usuario(); //Las propiedades tienen que hacer match con el DTO para poder comunicarse. usuario.UserName = username; usuario.Password = password; //Consumir api para obtener account y password y validar var client = new HttpClient(); client.BaseAddress = new Uri("http://academysecuritydos.azurewebsites.net/"); //Mandamos la peticion por el body hacia la api de security string json = JsonConvert.SerializeObject(usuario); var httpcontent = new StringContent(json, Encoding.UTF8, "application/json"); var response = client.PostAsync("api/Sessions/Login", httpcontent); response.Wait(); var result = response.Result; var readresult = result.Content.ReadAsStringAsync().Result; var resultadoFinal = JsonConvert.DeserializeObject <UsuarioConectado>(readresult); if (resultadoFinal.IsLogged != false) { HttpContext.Session.SetString("SessionUser", JsonConvert.SerializeObject(resultadoFinal.Username)); HttpContext.Session.SetString("UserRol", JsonConvert.SerializeObject(resultadoFinal.Role)); if (HttpContext.Session.GetString("SessionUser") != null) { TempData["username"] = JsonConvert.DeserializeObject(HttpContext.Session.GetString("SessionUser")); TempData["rol"] = JsonConvert.DeserializeObject(HttpContext.Session.GetString("UserRol")); } //Crearmos el objeto que recibira nuestro metodo para la llamada a la api //LogEntity logUI = new LogEntity(); //logUI.aplicacion = "User Interface"; //logUI.mensaje = "El usuario\t" + resultadoFinal.Username + "\tha iniciado sesion"; //logUI.fecha = DateTime.Now; ////Instanciamos el Log para poder consumir el metodo de conexion a la Api del archivo Dll //Log log = new Log(); //log.ConnectToWebAPI(logUI); //return PartialView("~/Views/Producto/Todos.cshtml",lsp); return(RedirectToAction("Todos", "Producto", new { id = 1 })); } else { ViewBag.error = "Invalid Account"; return(View("Index")); } }
public void Autenticar(UsuarioConectado usuarioConectado) { //if (HttpContext.Current.User.Identity.IsAuthenticated) //{ // Desconectar(); //} //Se o parâmetro createPersistentCookie for setado para true tem que criar //um novo filtro de autorização, que deve levar em contato se a sessão já expirou ou não. FormsAuthentication.SetAuthCookie(usuarioConectado.NomeCompleto, false); HttpContext.Current.Session["UsuarioConectado"] = usuarioConectado; ObjectFactory.Configure(c => c.For <UsuarioConectado>() .LifecycleIs(Lifecycles.GetLifecycle(InstanceScope.HybridHttpSession)) .Use(() => (UsuarioConectado)HttpContext.Current.Session["UsuarioConectado"]) ); }
/// <summary> /// Agrega una CuentaModelYaLogeada en la sesion, si esta aun no se encuentra en la sesion /// </summary> /// <param name="cuenta">CuentaModel</param> /// <param name="hiloDeSeguimientoDelCliente">Thread</param> /// <returns>Verdadeo si la cuenta se logeo correctamente, falso si no</returns> public Boolean AgregarCuentaLogeada(CuentaModel cuenta, Thread hiloDeSeguimientoDelCliente) { lock (ObjetoSincronizador) { foreach (CuentaModel cuentaLogeada in CuentasLogeadas.Keys) { if (cuentaLogeada.NombreUsuario == cuenta.NombreUsuario) { return(false); } } CuentasLogeadas.Add(cuenta, hiloDeSeguimientoDelCliente); } UsuarioConectado?.Invoke(cuenta); return(true); }
public void RecibirConexion(string Id) { UsuarioConectado enLista = lista.FirstOrDefault(x => x.id == Id); if (enLista == null) { var agregar = new UsuarioConectado(); agregar.id = Id; agregar.connectionId = Context.ConnectionId; lista.Add(agregar); } else { enLista.connectionId = Context.ConnectionId; } }
private void recibeDatos(IAsyncResult ar) { try { Socket socket = (Socket)ar.AsyncState; int received = socket.EndReceive(ar); byte[] dataBuf = new byte[received]; Array.Copy(receivedBuf, dataBuf, received); mensaje = (Encoding.Default.GetString(dataBuf)); } catch (Exception ex) { Console.WriteLine(ex.Message); } string objetoSerializado = mensaje; envioMensaje = JsonConvert.DeserializeObject <Mensaje>(mensaje); if (envioMensaje.contenidoMensaje == null) { UsuarioConectado cc = Newtonsoft.Json.JsonConvert.DeserializeObject <UsuarioConectado>(objetoSerializado); listaConectados = new List <string>(); for (int i = 0; i < cc.usuarioConectado.Count; i++) { listaConectados.Add(cc.usuarioConectado[i] + " (" + cc.usuarioConectado[i] + ")"); } } else { if (envioMensaje.contenidoMensaje != null) { this.Dispatcher.Invoke(() => { recibirMensaje(envioMensaje.contenidoMensaje, envioMensaje.usuarioEmisor); }); } } try { socketCliente.BeginReceive(receivedBuf, 0, receivedBuf.Length, SocketFlags.None, new AsyncCallback(recibeDatos), socketCliente); } catch (SocketException) { return; } }
public IActionResult Login(string username, string password) { List <Producto> lsp = new List <Producto>(); UsuarioConectado userLoged = new UsuarioConectado(); Usuario usuario = new Usuario(); //Las propiedades tienen que hacer match con el DTO para poder comunicarse. usuario.UserName = username; usuario.Password = password; var resultadoFinal = Api.SecurityApiLogin(URL, pathController, usuario); if (resultadoFinal.IsLogged != false) { ses.SaveSession("SessionUser", resultadoFinal.Username); ses.SaveSession("UserRol", resultadoFinal.Role); var Username = ses.GetSession("SessionUser"); var role = ses.GetSession("UserRol"); if (Username != null && Username != "" && role != null && role != "") { //proceso ViewData or TempData ViewData["username"] = Username; ViewData["rol"] = role; } //if (HttpContext.Session.GetString("SessionUser") != null) //{ // TempData["username"] = JsonConvert.DeserializeObject(HttpContext.Session.GetString("SessionUser")); // TempData["rol"] = JsonConvert.DeserializeObject(HttpContext.Session.GetString("UserRol")); //} //Crearmos el objeto que recibira nuestro metodo para la llamada a la api //LogEntity logUI = new LogEntity(); //logUI.aplicacion = "User Interface"; //logUI.mensaje = "El usuario\t" + resultadoFinal.Username + "\tha iniciado sesion"; //logUI.fecha = DateTime.Now; ////Instanciamos el Log para poder consumir el metodo de conexion a la Api del archivo Dll //Log log = new Log(); //log.ConnectToWebAPI(logUI); //return PartialView("~/Views/Producto/Todos.cshtml",lsp); return(RedirectToAction("Todos", "Producto", new { id = 1 })); } else { ViewBag.error = "Invalid Account"; return(View("Index")); } }
public override UsuarioConectado SecurityApiLogin(string url, string pathController, Usuario user) { UsuarioConectado userloged = new UsuarioConectado(); if (url.Equals("http://academysecuritydos.azurewebsites.net/")) { if (pathController.Equals("api/Sessions/Login")) { if (user.UserName != null && user.UserName != "" && user.Password != null && user.Password != "") { userloged.Username = user.UserName; userloged.IsLogged = true; userloged.Role = "EXT"; return(userloged); } } } return(userloged); }
public ActionResult ReceivePost(BotRequest data) { RequestService servicios = new RequestService(); MensajesTexto nuevo = new Models.Acciones.MensajesTexto(); Task.Factory.StartNew(() => { foreach (var entry in data.entry) { foreach (var message in entry.messaging) { if (string.IsNullOrWhiteSpace(message?.message?.text)) { continue; } //var msg = "You said: " + message.message.text; //var json = $@" {{recipient: {{ id: {message.sender.id}}},message: {{text: ""{msg + message.sender.id}"" }}}}"; //Acciones.PostRaw("https://graph.facebook.com/v3.0/me/messages?access_token=EAAF3NCI0yUQBAMx3ZCirrlZCuYDNoLaD092M4ncaZAYmu03C5Rku5tCPFLZBqmh2LEjD03u6fZAw3NtLhJLO7WEiJuHZCOFSmbEiZAR1DsiZAZBEWdQ9qizdz0HDJCQeH1wZBhG4HVxKddyTtyKxaMBSZCnoXeSCJY4AARmf6C1wmyIOAZDZD", json); if (!ManejoDeInfo.Conectado(message.sender.id)) { var respuesta = DialogFlow.RequestManager.Query(new DialogFlow.Models.Request(new List <string>(), message.message.text, message.sender.id)); nuevo.message.text = respuesta.result.fulfillment.speech; nuevo.recipient.id = respuesta.sessionId; if (!respuesta.result.actionIncomplete) { ManejoDeInfo.VerificarRuta(message.sender.id); string mensaje = ManejoDeInfo.RegistrarSolicitud(respuesta.result.parameters, message.sender.id); var hubContext = GlobalHost.ConnectionManager.GetHubContext <ChatHub>(); string ruta = ManejoDeInfo.ObtenerRuta(message.sender.id); if (ChatHub.lista.Count > 0) { UsuarioConectado jarcodeo = ChatHub.lista.FirstOrDefault(x => x.id == ruta); FbUser usuario = Acciones.recuperarContacto(message.sender.id); hubContext.Clients.Client(jarcodeo.connectionId).recibirMensaje(mensaje, usuario.first_name + " " + usuario.last_name, message.sender.id); } } Acciones.EnviarMensajeTextoAsync(nuevo); } else { if (message.message.text.ToUpper().Contains("DESCONECTAR")) { ManejoDeInfo.Desconectar(message.sender.id); } Task.Factory.StartNew(() => { //servicios.LlamarPost<dynamic>("http://localhost:61627/api/Message/Mensaje", message); var hubContext = GlobalHost.ConnectionManager.GetHubContext <ChatHub>(); string ruta = ManejoDeInfo.ObtenerRuta(message.sender.id); if (ChatHub.lista.Count > 0) { UsuarioConectado jarcodeo = ChatHub.lista.FirstOrDefault(x => x.id == ruta); FbUser usuario = Acciones.recuperarContacto(message.sender.id); hubContext.Clients.Client(jarcodeo.connectionId).recibirMensaje(message.message.text, usuario.first_name + " " + usuario.last_name, message.sender.id); } }); } } } }); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public static void SubstituirUsuarioConectado(UsuarioConectado usuarioConectado) { ObjectFactory.Configure(x => x.For <UsuarioConectado>() .HybridHttpOrThreadLocalScoped() .Use(() => usuarioConectado)); }