public ActionResult CreateUsuario(T_Usuario_Reg usu) { EmpleadoJornadaRepository empleadoJornadaRepository = new EmpleadoJornadaRepository(); using (StoreContext db = new StoreContext()) { try { T_Usuario usuario = new T_Usuario(); usuario.ID_Perfil = usu.ID_Perfil; usuario.ID_Persona = usu.ID_Persona; usuario.Usuario = usu.Correo; usuario.Estado = usu.Estado; usuario.Clave = usu.Clave; if (ModelState.IsValid) { db.t_Usuarios.Add(usuario); db.SaveChanges(); empleadoJornadaRepository.iNSERTARJornadaEmpleado(1, usuario.ID_Usuario, usu.ID_TipoJornada); return(RedirectToAction("Index")); } ViewBag.ID_Perfil = new SelectList(db.t_Perfils.ToList(), "ID_Perfil", "Descripcion", usu.ID_Perfil); ViewBag.ID_TipoJornada = new SelectList(db.t_TipoJornadas.ToList(), "ID_TipoJornada", "Descripcion", usu.ID_TipoJornada); return(View(usu)); } catch (Exception) { return(View(usu)); } } }
public ActionResult Edit(T_Usuario usuario) { #region Validações //Valida E-mail if (db.T_Usuario.Count(x => x.ID_USUARIO != usuario.ID_USUARIO && x.EMAIL == usuario.EMAIL) > 0) { ModelState.AddModelError("EMAIL", "E-mail informado já existe"); } //Valida Nome if (db.T_Usuario.Count(x => x.ID_USUARIO != usuario.ID_USUARIO && x.NOME == usuario.NOME) > 0) { ModelState.AddModelError("NOME", "Nome informado já existe"); } #endregion Validações if (ModelState.IsValid) { usuario.SENHA = FormsAuthentication.HashPasswordForStoringInConfigFile(usuario.SENHA, "SHA1"); db.Entry(usuario).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.id_perfil = new SelectList(db.T_Perfil, "PER_ID", "PER_NOME", usuario.ID_PERFIL); return(View(usuario)); }
public ActionResult Perfil() { var user = new T_Usuario(); int id = Convert.ToInt32(HttpContext.User.Identity.Name); user = db.T_Usuario.Find(id); return(View(user)); }
// // GET: /Usuario/Delete/5 public ActionResult Delete(int id = 0) { T_Usuario usuario = db.T_Usuario.Find(id); if (usuario == null) { return(HttpNotFound()); } return(View(usuario)); }
//Metódo Validar Usuário public bool AutenticarUsuario(T_Usuario usuario) { if (db.T_Usuario.Count(x => x.EMAIL == usuario.EMAIL && x.SENHA == usuario.SENHA) > 0) { return(true); } else { return(false); } }
public ActionResult Details(int id = 0, string name = "") { T_Usuario usuario = db.T_Usuario.Find(id); if (name != "") { usuario = db.T_Usuario.First(x => x.EMAIL == name); } if (usuario == null) { return(HttpNotFound()); } return(View(usuario)); }
public ActionResult Senha(int id = 0, string name = "") { T_Usuario usuario = db.T_Usuario.Find(id); if (name != "") { usuario = db.T_Usuario.First(x => x.EMAIL == name); } if (usuario == null) { return(HttpNotFound()); } ViewBag.id_perfil = new SelectList(db.T_Perfil, "PER_ID", "PER_NOME", usuario.ID_PERFIL); return(View(usuario)); }
public ActionResult DeleteConfirmed(int id) { T_Usuario usuario = db.T_Usuario.Find(id); if (usuario.T_USER_GRUPO.Count > 0) { ModelState.AddModelError("EMAIL", "Desculpe, usuário não pode ser excluído pois possui grupos associdados."); } if (ModelState.IsValid) { db.T_Usuario.Remove(usuario); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(usuario)); }
// // GET: /Usuario/Edit/5 public ActionResult Edit(int id = 0, string name = "") { T_Usuario usuario = db.T_Usuario.Find(id); if (name != "") { usuario = db.T_Usuario.First(x => x.EMAIL == name); } if (usuario == null) { //usuario.senha = FormsAuthentication.HashPasswordForStoringInConfigFile(usuario.senha, "SHA1"); return(HttpNotFound()); } ViewBag.id_perfil = new SelectList(db.T_Perfil, "PER_ID", "PER_NOME", usuario.ID_PERFIL); return(View(usuario)); }
public ActionResult Perfil(T_Usuario usuario) { ModelState.Remove("SENHA"); if (ModelState.IsValid) { var user = db.T_Usuario.Find(usuario.ID_USUARIO); user.NOME = usuario.NOME; if (usuario.SENHA != "" && usuario.SENHA != null) { user.SENHA = FormsAuthentication.HashPasswordForStoringInConfigFile(usuario.SENHA, "SHA1"); } db.Entry(user).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", "Home")); } return(View(usuario)); }
public ActionResult Senha(T_Usuario usuario) { if (usuario.SENHA == "" || usuario.SENHA == null) { ModelState.AddModelError("SENHA", "Obrigatório informar a senha"); } if (ModelState.IsValid) { usuario.T_Perfil = null; usuario.SENHA = FormsAuthentication.HashPasswordForStoringInConfigFile(usuario.SENHA, "SHA1"); db.Entry(usuario).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.id_perfil = new SelectList(db.T_Perfil, "PER_ID", "PER_NOME", usuario.ID_PERFIL); return(View(usuario)); }
public ActionResult Create(T_Usuario usuario) { #region Validações //Valida E-mail if (db.T_Usuario.Count(x => x.EMAIL == usuario.EMAIL) > 0) { ModelState.AddModelError("EMAIL", "E-mail informado já existe"); } //Valida Nome if (db.T_Usuario.Count(x => x.NOME == usuario.NOME) > 0) { ModelState.AddModelError("NOME", "Nome informado já existe"); } if (usuario.NOME == "" || usuario.NOME == null) { ModelState.AddModelError("NOME", "Obrigatório informar o nome"); } if (usuario.EMAIL == "" || usuario.EMAIL == null) { ModelState.AddModelError("EMAIL", "Obrigatório informar o login"); } if (usuario.SENHA == "" || usuario.SENHA == null) { ModelState.AddModelError("SENHA", "Obrigatório informar a senha"); } #endregion Validações if (ModelState.IsValid) { usuario.SENHA = FormsAuthentication.HashPasswordForStoringInConfigFile(usuario.SENHA, "SHA1"); db.T_Usuario.Add(usuario); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.id_perfil = new SelectList(db.T_Perfil, "PER_ID", "PER_NOME", usuario.ID_PERFIL); return(View(usuario)); }
public ActionResult Login(T_Usuario usuario, string ReturnUrl) { var valido = false; //valido = Autentica("10.0.10.2", usuario.EMAIL, usuario.SENHA); if (valido == false) { if (usuario.EMAIL == "" || usuario.SENHA == "" || usuario.EMAIL == null || usuario.SENHA == null) { ViewBag.alerta = "Usuário ou Senha não informados!"; } else { usuario.SENHA = FormsAuthentication.HashPasswordForStoringInConfigFile(usuario.SENHA, "SHA1"); if (usuario.EMAIL == null || usuario.SENHA == null || AutenticarUsuario(usuario) == false) { ViewBag.alerta = "Usuário ou Senha Inválidos!"; } else { var user = db.T_Usuario.First(x => x.EMAIL == usuario.EMAIL && x.SENHA == usuario.SENHA); CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel() { Id = user.ID_USUARIO, Name = user.NOME, Roles = new[] { user.T_Perfil.PER_NOME } }; string userData = new JavaScriptSerializer().Serialize(serializeModel); var authTicket = new FormsAuthenticationTicket(1, user.ID_USUARIO.ToString(), DateTime.Now, DateTime.Now.AddMinutes(1000), true, userData); string cookieContents = FormsAuthentication.Encrypt(authTicket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieContents) { Expires = authTicket.Expiration, Path = FormsAuthentication.FormsCookiePath }; System.Web.HttpContext.Current.Response.Cookies.Add(cookie); Response.Cookies.Add(cookie); if (Url.IsLocalUrl(ReturnUrl) && ReturnUrl.Length > 1 && ReturnUrl.StartsWith("/") && !ReturnUrl.StartsWith("//") && !ReturnUrl.StartsWith("/\\")) { return(Redirect(ReturnUrl)); } else { return(RedirectToAction("Index", "Home")); } } } } //Acesso pelo AD else { if (db.T_Usuario.Count(x => x.EMAIL == usuario.EMAIL) <= 0) { ViewBag.alerta = "Usuário encontrado no Activity Directory, porém o mesmo não possui perfil associado na ferramenta de indicadores"; return(View(usuario)); } var user = db.T_Usuario.First(x => x.EMAIL == usuario.EMAIL); var role = user.T_Perfil.PER_NOME; var authTicket = new FormsAuthenticationTicket(1, user.EMAIL, DateTime.Now, DateTime.Now.AddMinutes(1000), true, role); string cookieContents = FormsAuthentication.Encrypt(authTicket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieContents) { Expires = authTicket.Expiration, Path = FormsAuthentication.FormsCookiePath }; System.Web.HttpContext.Current.Response.Cookies.Add(cookie); Response.Cookies.Add(cookie); if (Url.IsLocalUrl(ReturnUrl) && ReturnUrl.Length > 1 && ReturnUrl.StartsWith("/") && !ReturnUrl.StartsWith("//") && !ReturnUrl.StartsWith("/\\")) { return(Redirect(ReturnUrl)); } else { return(RedirectToAction("Index", "Home")); } } return(View(usuario)); }
/// <summary> /// Autentica acesso pelo AD /// </summary> /// <param name="IpServer">Endereço de ip do servidor</param> /// <param name="User">Usuário de acesso</param> /// <param name="Senha">Senha de acesso</param> /// <returns>Retorna true se autenticado e false se não foi autenticado</returns> public bool Autentica(string IpServer, string User, string Senha) { bool valido = false; try { DirectoryEntry objAD = new DirectoryEntry("LDAP://" + IpServer, User, Senha); var grupos = new List <string>(); var grupoSgi = new List <T_Grupo>(); var perfisAcesso = new List <T_Perfil>(); if (objAD.Name != "") { valido = true; } //Valida se autentiou usuário no AD if (valido) { grupos = BuscaListadeGrupo(objAD); grupoSgi = db.T_Grupo.Where(x => grupos.Any(j => j.ToUpper() == x.NOME.ToUpper())).ToList(); perfisAcesso = db.T_Perfil.Where(x => grupos.Any(j => j.ToUpper().Replace("PSGI_", "") == x.PER_NOME.ToUpper())).ToList(); //Valida se usuário esta cadastrado no SGI if (db.T_Usuario.Count(x => x.EMAIL == User) > 0) { var usuario = db.T_Usuario.First(x => x.EMAIL == User); if (grupos.Count <= 0) { usuario.ATIVO = (int)Enums.Ativo.Bloqueada; } else { var gruposUsuario = db.T_USER_GRUPO.Where(x => x.ID_USUARIO == usuario.ID_USUARIO).ToList(); db.T_USER_GRUPO.RemoveRange(gruposUsuario); foreach (var item in grupoSgi) { if (usuario.T_USER_GRUPO.Count(x => x.GRU_ID == item.GRU_ID) <= 0) { usuario.T_USER_GRUPO.Add(new T_USER_GRUPO() { GRU_ID = item.GRU_ID, ID_USUARIO = usuario.ID_USUARIO }); } } } if (perfisAcesso.Count > 0) { usuario.ID_PERFIL = perfisAcesso.FirstOrDefault().PER_ID; } db.Entry(usuario).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); //Salva usuário } else if (grupoSgi.Count > 0) //Cadastra usuário { var usuario = new T_Usuario(); if (perfisAcesso.Count > 0) { usuario.ID_PERFIL = perfisAcesso.FirstOrDefault().PER_ID; } else { usuario.ID_PERFIL = db.T_Perfil.FirstOrDefault(x => x.PER_NOME == "Padrão").PER_ID; } usuario.EMAIL = User; usuario.NOME = User; usuario.SENHA = FormsAuthentication.HashPasswordForStoringInConfigFile(Senha, "SHA1"); foreach (var item in grupoSgi) { if (usuario.T_USER_GRUPO.Count(x => x.GRU_ID == item.GRU_ID) <= 0) { usuario.T_USER_GRUPO.Add(new T_USER_GRUPO() { GRU_ID = item.GRU_ID, ID_USUARIO = usuario.ID_USUARIO }); } } db.T_Usuario.Add(usuario); db.SaveChanges(); } } } catch (Exception ex) { return(false); throw new Exception(ex.Message); } return(valido); }
public ActionResult Forgot(T_Usuario usuario) { return(RedirectToAction("Index", "Home")); }
public void RegistrarUsuario(T_Usuario _usuario) { IsBusy = true; }