public override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { filterContext.Result = new RedirectResult("~/Usuarios/Login"); return; } else { if (SessionContext.UsuarioLogado == null) { var cpf = filterContext.HttpContext.User.Identity.Name.ToString(); var usuario = new UsuariosBll().GetObject(cpf); var licencaBll = new UsuarioslicencasBll(); var licenca = new Usuarioslicencas(); licenca = licencaBll.GetObject(usuario); //if (usuario.Perfil.Nome.ToLower() == "desenvolvedor") //{ // licenca = new Usuarioslicencas() // { // Funcao = new Licencasfuncoes() { Nome = "Desenvolvedor" }, // Status = StatusUsuarioLicenca.Ativo, // Licencas = new Licencas() { Descricao = "Desenvolvedor" }, // Usuarios = usuario // }; //} //else //{ // licenca = licencaBll.GetObject(usuario); //} SessionContext.UsuarioLogado = licenca; } } if (filterContext.Result is HttpUnauthorizedResult) { filterContext.Result = new RedirectResult("~/Usuarios/Denied"); } }
public ActionResult Create(Usuarios usuarios, FormCollection collection) { try { usuarios.NomeUsuario = collection["NomeUsuario"]; usuarios.Perfil = new Usuariosperfis(Convert.ToInt32(collection["Perfil"])); usuarios.Clientes = new Cliente(Convert.ToInt32(collection["Clientes"])); //usuarios.IdUsuarioLicenca = new Usuarioslicencas(Convert.ToInt32(collection["IdUsuarioLicenca"])); //Licencas li = new Licencas(); //li.IdLicenca = (Convert.ToInt32(collection["IdUsuarioLicenca"])); Usuarioslicencas usuarioslicencas = new Usuarioslicencas(); usuarioslicencas.Usuarios = usuarios; usuarioslicencas.Usuarios.IdUsuario = usuarios.IdUsuario; usuarioslicencas.Status = usuarios.Status; //usuarioslicencas.Licencas.IdLicenca = usuarios.IdUsuarioLicenca.IdUsuarioLicenca; //usuarioslicencas.Licencas.IdLicenca = Convert.ToInt32(usuarios.IdUsuarioLicenca.IdUsuarioLicenca); //usuarioslicencas.Licencas.IdLicenca = usuarios.IdUsuarioLicenca.Licencas.IdLicenca; //usuarioslicencas.Licencas = li.IdLicenca; var bll = new UsuariosBll(); bll.Save(usuarios); var bllUL = new UsuarioslicencasBll(); usuarioslicencas.Usuarios = new Usuarios(usuarios.IdUsuario); bllUL.Save(usuarioslicencas); Success("Sucesso", "Salvo com sucesso!", true); return(RedirectToAction("Index")); } catch (Exception ex) { Danger("Erro", string.Format("Erro: " + ex.Message), true); return(View()); } }
public ActionResult Login(FormCollection collection) { try { UsuariosBll bll = new UsuariosBll(); Usuarios usuarioLogin = new Usuarios(); usuarioLogin.Persisted = true; //usuarioLogin.Email = collection["login"]; usuarioLogin.CPF = collection["cpf"]; usuarioLogin.Senha = collection["password"].Trim(); var usuario = bll.Login(usuarioLogin); var licencaBll = new UsuarioslicencasBll(); Usuarioslicencas licenca = null; if (usuario.Perfil.Nome.ToLower() == "Administrador") { //licenca = new Usuarioslicencas() //{ // Funcao = new Licencasfuncoes() { Nome = "Desenvolvedor" }, // Status = StatusUsuarioLicenca.Ativo, // Licencas = new Licencas() { Descricao = "Desenvolvedor" }, // Usuarios = usuario //}; licenca = licencaBll.GetObject(usuario); } else { licenca = licencaBll.GetObject(usuario); if (licenca == null) { throw new Exception("Atenção! Seu usuário não possui uma licença valida."); } else { if (licenca.Status != StatusUsuarioLicenca.Ativo) { throw new Exception("Atenção! Sua licença não está ativa."); } } } SessionContext.UsuarioLogado = licenca; FormsAuthentication.SetAuthCookie(usuario.CPF, false); if (SessionContext.UsuarioLogado.Usuarios.Perfil.IdPerfil == 1) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Index", "Home")); } return(RedirectToAction("Index", "Home")); } catch (Exception ex) { Danger("Erro", ex.Message, true); return(View()); } }