コード例 #1
0
        public ActionResult CadastrarDocumento(Documento _novoDocumento)
        {
            try
            {
                _DAO.SalvarDocumento(_novoDocumento);
                Logador.LogAcao(Logador.LogAcoes.Salvar, "CADASTRO DE DOCUMENTO (REGISTRO " + _novoDocumento.Registro.ToString() + ")");
                _DAO.RegistrarCadastroDocumento(_novoDocumento.Registro, Seguranca.UsuarioLogado().Registro);
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Cadastrar").ComMensagemDeErro(ex.Message));
            }

            return(RedirectToAction("VinculacaoImagem", "DocumentoDigitalizacao", new { _registroDocumento = _novoDocumento.Registro }));
        }
コード例 #2
0
 public ActionResult RevisarDocumento(int _registroDocumento)
 {
     try
     {
         if (!_DAO.DocumentoRevisado(_registroDocumento))
         {
             _DAO.RegistrarRevisaoDocumento(_registroDocumento, Seguranca.UsuarioLogado().Registro);
         }
         return(RedirectToAction("ListarDocumentosNaoRevisados", "Documento", new { _registroCaixa = _DAO.GetByRegistro(_registroDocumento).Caixa }).ComMensagemDeSucesso("Revisão concluída!"));
     }
     catch (Exception ex)
     {
         return(View("Revisar", new { _registroDocumento = _registroDocumento }).ComMensagemDeErro(ex.Message));
     }
 }
コード例 #3
0
        // GET: /TipoConta/Edit/5
        public ActionResult Edit(int?id)
        {
            Seguranca.ValidaAcesso(28);
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoConta tipoconta = db.TiposConta.Find(id);

            if (tipoconta == null)
            {
                return(HttpNotFound());
            }
            return(View(tipoconta));
        }
コード例 #4
0
        // GET: /TipoDocumento/Edit/5
        public ActionResult Edit(int?id)
        {
            Seguranca.ValidaAcesso(32);
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoDocumento tipodocumento = db.TiposDocumento.Find(id);

            if (tipodocumento == null)
            {
                return(HttpNotFound());
            }
            return(View(tipodocumento));
        }
コード例 #5
0
        // GET: /Proposta/Details/5
        public ActionResult Details(int?id)
        {
            Seguranca.ValidaAcesso(5);
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Proposta proposta = db.Propostas.Find(id);

            if (proposta == null)
            {
                return(HttpNotFound());
            }
            return(View(proposta));
        }
コード例 #6
0
        // GET: /Convenio/Edit/5
        public ActionResult Edit(int?id)
        {
            Seguranca.ValidaAcesso(20);
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Convenio convenio = db.Convenios.Find(id);

            if (convenio == null)
            {
                return(HttpNotFound());
            }
            return(View(convenio));
        }
コード例 #7
0
        // GET: /TipoTelefone/Edit/5
        public ActionResult Edit(int?id)
        {
            Seguranca.ValidaAcesso(36);
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoTelefone tipotelefone = db.TiposTelefone.Find(id);

            if (tipotelefone == null)
            {
                return(HttpNotFound());
            }
            return(View(tipotelefone));
        }
コード例 #8
0
        private static void CriarGrupoPerfilUsuario(DBContext context)
        {
            //se não existir o grupo master
            var grupo = new Grupo
            {
                Descricao    = "Administrador Master",
                PerfisGrupos = ListaDePermissao.Listar
            };

            context.Add(grupo);
            context.SaveChanges();

            Console.WriteLine(@"********************************************************************************");
            Console.WriteLine(@"**************************Grupo e Perfil criados********************************");
            Console.WriteLine(@"********************************************************************************");


            if (!context.Usuarios.Any())
            {
                #region Usuario

                var usuario = new Usuario
                {
                    Login          = "******",
                    Senha          = Seguranca.GerarHash("1"),
                    Ativo          = "S",
                    GruposUsuarios = new GrupoUsuario[]
                    {
                        new GrupoUsuario
                        {
                            Grupo = grupo
                        }
                    }
                };

                context.Add(usuario);

                context.SaveChanges();



                #endregion

                Console.WriteLine(@"********************************************************************************");
                Console.WriteLine(@"************************************Usuário Criado******************************");
                Console.WriteLine(@"********************************************************************************");
            }
        }
コード例 #9
0
        public void Dado_Um_LoginDE_Valido_Deve_Logar()
        {
            Usuario usuario = new Usuario
            {
                IDLDAP = "DE-10102",
                Senha  = "NG04ecfyYDg="
            };

            Seguranca seguranca = new Seguranca("CN=ROOT", "NG04ecfyYDg=");

            RequisicaoUsuario requisicaoUsuario = new RequisicaoUsuario(usuario, seguranca);

            var result = _usuarioService.Login(requisicaoUsuario);

            Assert.IsNotNull(result);
        }
コード例 #10
0
        public void Dado_Um_LoginNome_Valido_Deve_Logar()
        {
            Usuario usuario = new Usuario
            {
                IDLDAP = "MARIA APARECIDA EUSEBIO DE OLIVEIRA",
                Senha  = "NG04ecfyYDg="
            };

            Seguranca seguranca = new Seguranca("CN=ROOT", "NG04ecfyYDg=");

            RequisicaoUsuario requisicaoUsuario = new RequisicaoUsuario(usuario, seguranca);

            var result = _usuarioService.Login(requisicaoUsuario);

            Assert.IsNotNull(result);
        }
コード例 #11
0
ファイル: HomeController.cs プロジェクト: josuecorrea/Eva
        public ActionResult Login(LoginViewModel usuario)
        {
            if (Request.HttpMethod == "POST")
            {
                var usuarioLogado = usuarioApp.Login(usuario.Login, usuario.Senha);
                if (usuarioLogado != null)
                {
                    Seguranca.GerearSessaoDeUsuario(usuarioLogado);
                    return(RedirectToAction("Index"));
                }

                this.Flash("Dados de acesso não são válidos!", FlashEnum.Error);
            }

            return(View(usuario));
        }
コード例 #12
0
        // GET: /Banco/Create
        public ActionResult Create()
        {
            Seguranca.ValidaAcesso(15);
            var bancoVM = new BancoViewModel();

            var tiposDocumento = db.TiposDocumento.ToList();

            foreach (var d in tiposDocumento)
            {
                bancoVM.Documentos.Add(new ViewModels.ItemDocumento()
                {
                    Id = d.Id, Nome = d.Nome, Obrigatorio = false, Selecionado = false
                });
            }
            return(View(bancoVM));
        }
コード例 #13
0
        public async Task <JsonResult> DeletarEstilo([FromBody] object Estilo, string token)
        {
            dynamic objEn = Estilo;
            string  a     = objEn.idEstilo.ToString();

            if (await Seguranca.validaTokenAsync(token))
            {
                Estilo obj = EstiloDAO.GetAll().Where(x => x.ID == Convert.ToInt32(a)).FirstOrDefault();
                return(Json(new { msg = EstiloDAO.Remove(obj) }));
                //return Json(new { msg = false });
            }
            else
            {
                return(Json(new { msg = false }));
            }
        }
コード例 #14
0
        public void Dado_Uma_Senha_Valida_Deve_Atualizar()
        {
            Seguranca seguranca = new Seguranca("CN=ROOT", "NG04ecfyYDg=");

            Usuario usuario = new Usuario
            {
                //CPF = "CIMA-88888",
                IDLDAP = "525471",
                Senha  = "NG04ecfyYDg="
            };

            RequisicaoUsuario requisicaoUsuario = new RequisicaoUsuario(usuario, seguranca);

            var result = _usuarioService.AtualizarSenha(requisicaoUsuario);

            Assert.IsTrue(result.Status.Success);
        }
コード例 #15
0
        private void ativarMicro()
        {
            Funcoes   cFuncoes   = new Funcoes();
            Seguranca cSeguranca = new Seguranca();
            string    sNumHD     = cFuncoes.GetVolumeSerial("C");

            if (cSeguranca.validarChaveAtivacao(txtContraChave.Text.Trim(), cFuncoes.retirarPonto(cEmpresa.licenca)))
            {
                vTelaPrincipal.bAtivacaoTelefone = true;
                vTelaPrincipal.sAtivacaoTelefone = cSeguranca.sCriptografarString(cSeguranca.getCodigoCliente(cFuncoes.retirarPonto(cEmpresa.licenca)).ToString("D5")) + "." + cSeguranca.sCriptografarString(sNumHD) + "." + cSeguranca.sCriptografarString("A");
            }
            else
            {
                vTelaPrincipal.bAtivacaoTelefone = true;
                vTelaPrincipal.sAtivacaoTelefone = cSeguranca.sCriptografarString(cSeguranca.getCodigoCliente(cFuncoes.retirarPonto(cEmpresa.licenca)).ToString("D5")) + "." + cSeguranca.sCriptografarString(sNumHD) + "." + cSeguranca.sCriptografarString("N");
            }
        }
コード例 #16
0
        public ActionResult Edit([Bind(Include = "Id,Nome")] BancoViewModel bancoVM)
        {
            Seguranca.ValidaAcesso(16);
            if (ModelState.IsValid)
            {
                var banco = db.Bancos.Find(bancoVM.Id);
                if (banco == null)
                {
                    return(HttpNotFound());
                }
                banco.Nome            = bancoVM.Nome;
                db.Entry(banco).State = EntityState.Modified;

                // monta o bancoVM conforme o post do Form
                var docs = db.TiposDocumento.ToList();
                foreach (var d in docs)
                {
                    bool selecionado = false;
                    bool obrigatorio = false;
                    if (Request.Form["s" + d.Id] == "on")
                    {
                        selecionado = true;
                        obrigatorio = (Request.Form["o" + d.Id] == "on");
                    }
                    var doc = new ItemDocumento();
                    doc.Id          = d.Id;
                    doc.Selecionado = selecionado;
                    doc.Obrigatorio = obrigatorio;
                    bancoVM.Documentos.Add(doc);
                }

                int?sequencia = db.ObtemSequencia().FirstOrDefault();

                foreach (var item in bancoVM.Documentos.Where(d => d.Selecionado))
                {
                    db.Database.ExecuteSqlCommand("insert into AuxBancoDocumento (Seq, IdBanco, IdTipoDocumento, Obrigatorio) values({0}, {1}, {2}, {3})",
                                                  sequencia, banco.Id, item.Id, item.Obrigatorio);
                }

                db.GravaBancoDocumentos(sequencia, banco.Id);

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(bancoVM));
        }
コード例 #17
0
        // GET: /Proposta/Create
        public ActionResult Create()
        {
            Seguranca.ValidaAcesso(6);
            ViewBag.IdBancoConta       = new SelectList(db.Bancos, "Id", "Nome");
            ViewBag.IdConvenio         = new SelectList(db.Convenios, "Id", "Nome");
            ViewBag.IdBanco            = new SelectList(db.Bancos, "Id", "Nome");
            ViewBag.IdTipoConta        = new SelectList(db.TiposConta, "Id", "Nome");
            ViewBag.IdUsuario          = new SelectList(db.Usuarios, "Id", "Login");
            ViewBag.IdUsuarioDigitacao = new SelectList(db.Usuarios, "Id", "Login");
            ViewBag.IdTipoTelefone     = new SelectList(db.TiposTelefone, "Id", "Nome");
            ViewBag.TiposTelefone      = db.TiposTelefone;
            ViewBag.Bancos             = db.Bancos;

            var p = new ViewModels.PropostaViewModel();

            return(View(p));
        }
コード例 #18
0
 public ActionResult AtualizarAvatar(HttpPostedFileBase FotoDePerfil, PerfilViewModel perfilViewModel)
 {
     try
     {
         var    usuarioID = int.Parse(Seguranca.Decriptar(perfilViewModel.PasseEncriptado));
         string diretorio = Server.MapPath("~/Images/FotosDePerfil");
         FotoDePerfilService.Adicionar(FotoDePerfil, usuarioID, diretorio);
         var usuario = UsuarioService.BuscarPorID(usuarioID);
         SessionHelper.DestruirSessao(Session);
         UsuarioService.IniciarSessao(Session, usuario);
         return(Perfil(usuarioID));
     }
     catch (Exception exception)
     {
         return(HttpNotFound(exception.Message));
     }
 }
コード例 #19
0
        static void TestarLibSeguranca()
        {
            var senha = "123456";

            var c = Seguranca.Critptografar(senha);

            Console.WriteLine(c);

            var d = Seguranca.Descriptografar(c);

            Console.WriteLine(d);


            var h = Seguranca.GerarHash(senha);

            Console.WriteLine(h);
        }
コード例 #20
0
        public ActionResult Excluir(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Seguranca seguranca = db.Seguranca.Find(id);

            if (seguranca == null)
            {
                return(HttpNotFound());
            }

            var segurancaVM = Mapper.Map <Seguranca, SegurancaViewModel>(seguranca);

            return(View(segurancaVM));
        }
コード例 #21
0
        public Retorno VerificarLogin(Login login)
        {
            try
            {
                Retorno retorno = PreenchimentoObrigatorio(login);
                if (retorno.IsValido)
                {
                    login.Senha = Seguranca.Criptografar(login.Senha, "VESTIRY");

                    retorno = ConsultarExistenciaSenha();

                    if (retorno.IsValido)
                    {
                        if (retorno.Entity != null && retorno.Entity.ConverteValor(0) == 1)
                        {
                            retorno = new DataLogin().Consultar(login);

                            if (retorno.IsValido)
                            {
                                retorno.IsValido = retorno.Entity != null && ((Login)retorno.Entity).Codigo > 0;

                                if (retorno.IsValido)
                                {
                                    CarregarPermissoesFuncoes(retorno.Entity as Login);
                                }
                                else
                                {
                                    retorno.Mensagem = Mensagens.MSG_30;
                                }
                            }
                        }
                        else
                        {
                            return(new BusinessLogin().Salvar(login));
                        }
                    }
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
コード例 #22
0
        public ActionResult Indexar(int Registro, List <int> regIndex, List <string> valor)
        {
            bool sucesso = false;

            if (!ModelState.IsValid)
            {
                return(View("Indexacao", new DocumentoBO().GetByRegistro(Registro)));
            }
            //using (TransactionScope scope = new TransactionScope())
            //{
            try
            {
                SubserieIndiceValor _valorIndice;
                for (int i = 0; i < regIndex.Count; i++)
                {
                    _valorIndice = new SubserieIndiceValor(Registro, regIndex[i], valor[i]);
                    SalvarIndice(_valorIndice);
                }

                new DocumentoBO().RegistrarIndexacaoDocumento(Registro, Seguranca.UsuarioLogado().Registro);

                sucesso = true;
            }
            catch (Exception ex)
            {
                sucesso = false;

                // MetodosUtilidadeGeral.MensagemDeErro(ex.Message, Response);
                valor = new List <string>();
                return(RedirectToAction("Indexacao", new { _registroDocumento = Registro }).ComMensagemDeErro(ex.Message));
            }

            if (sucesso)
            {
                //scope.Complete();
                return(RedirectToAction("ConcluirCaptura", "Documento", new { _registroDocumento = Registro }));
            }
            //else
            //{
            //    scope.Dispose();
            return(View("Indexacao", new DocumentoBO().GetByRegistro(Registro)));
            //}
            // }
        }
コード例 #23
0
        public static void ConfigurarComponentesSeguranca(IServiceCollection service, IConfiguration configuration)
        {
            var seguranca = new Seguranca();

            service.AddSingleton(seguranca);

            RegistrarChavesAppSettings(service, configuration);

            var authAdded = service.AddAuthentication(authOptions =>
            {
                authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                authOptions.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            });

            authAdded.AddJwtBearer(bearerOptions =>
            {
                var paramsValidation = bearerOptions.TokenValidationParameters;
                paramsValidation.IssuerSigningKey = seguranca.Key;
                paramsValidation.ValidAudience    = _configuracaoToken.Audience;
                paramsValidation.ValidIssuer      = _configuracaoToken.Issuer;

                // Valida a assinatura de um token recebido
                paramsValidation.ValidateIssuerSigningKey = true;

                // Verifica se um token recebido ainda é válido
                paramsValidation.ValidateLifetime = true;

                // Tempo de tolerância para a expiração de um token (utilizado
                // caso haja problemas de sincronismo de horário entre diferentes
                // computadores envolvidos no processo de comunicação)
                paramsValidation.ClockSkew = TimeSpan.Zero;
            });

            // Ativa o uso do token como forma de autorizar o acesso
            // a recursos deste projeto
            service.AddAuthorization(auth =>
            {
                auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder()
                               .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                               .RequireAuthenticatedUser().Build());
            });

            _service = service.BuildServiceProvider();
        }
コード例 #24
0
 public async Task <JsonResult> SaveUsuario([FromBody] Usuario usuario, string token)
 {
     if (await Seguranca.validaTokenAsync(token))
     {
         try
         {
             var newUsuario = UsuarioDAO.Save(usuario);
             return(Json(newUsuario));
         }
         catch (Exception e)
         {
             return(Json("Encontramos algum problema ao salvar o usuario. Entre em contato com o suporte"));
         }
     }
     else
     {
         return(Json("Você nao tem acesso a esse plugin"));
     }
 }
コード例 #25
0
 /// <summary>
 /// Devolve todos os sumários de um docente
 /// </summary>
 /// <param name="prof"></param>
 /// <returns></returns>
 ///
 public static DataSet GetSumarios(string prof)
 {
     try
     {
         if (Seguranca.UserAccess(prof) == true)
         {
             return(SumariosDAO.SumariosData.GetAllSumariosBD(prof));
         }
         else
         {
             //throw new Exception("Não lhe é permitido");
             return(null);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #26
0
        public ActionResult Login(Usuario usuario)
        {
            usuario = db.Usuarios.FirstOrDefault(x =>
                                                 x.Email.Equals(usuario.Email) &&
                                                 x.Senha.Equals(usuario.Senha));
            if (usuario != null)
            {
                var json = Seguranca.CriptografaCookie(JsonConvert.SerializeObject(usuario));

                HttpCookie usuarioCookie = new HttpCookie("C-USR", json);
                usuarioCookie.Expires = DateTime.MinValue;
                usuarioCookie.Path    = "/";
                this.ControllerContext.HttpContext.Response.Cookies.Add(usuarioCookie);
                return(RedirectToAction("Index", "Home"));
            }
            ModelState.Clear();
            ModelState.AddModelError("", "E-mail ou senha inválidos!");
            return(View());
        }
コード例 #27
0
        public ActionResult Edit([Bind(Include = "Id,Nome,Ativo,LimitaPropostaUsuarioLogado")] PerfilViewModel perfilVM)
        {
            Seguranca.ValidaAcesso(12);
            if (ModelState.IsValid)
            {
                var perfil = db.Perfis.Find(perfilVM.Id);
                if (perfil == null)
                {
                    return(HttpNotFound());
                }
                perfil.Nome  = perfilVM.Nome;
                perfil.Ativo = perfilVM.Ativo;
                perfil.LimitaPropostaUsuarioLogado = perfilVM.LimitaPropostaUsuarioLogado;
                db.Entry(perfil).State             = EntityState.Modified;
                db.SaveChanges();

                // monta o perfilVM conforme o post do Form
                var funcoes = db.Funcoes.ToList();
                foreach (var f in funcoes)
                {
                    bool selecionado = (Request.Form["s" + f.Id] == "on");
                    var  acesso      = new ItemAcesso();
                    acesso.IdFuncao    = f.Id;
                    acesso.Selecionado = selecionado;
                    perfilVM.Acessos.Add(acesso);
                }


                int?sequencia = db.ObtemSequencia().FirstOrDefault();

                foreach (var item in perfilVM.Acessos.Where(a => a.Selecionado))
                {
                    db.Database.ExecuteSqlCommand("insert into AuxAcesso (Seq, IdPerfil, IdFuncao) values({0}, {1}, {2})",
                                                  sequencia, perfil.Id, item.IdFuncao);
                }

                db.GravaAcessos(sequencia, perfil.Id);

                return(RedirectToAction("Index"));
            }
            return(View(perfilVM));
        }
コード例 #28
0
        // GET: /Perfil/Create
        public ActionResult Create()
        {
            Seguranca.ValidaAcesso(11);
            var funcoes = db.Funcoes;

            var perfilVM = new ViewModels.PerfilViewModel();

            foreach (var f in funcoes)
            {
                perfilVM.Acessos.Add(new ViewModels.ItemAcesso
                {
                    IdFuncao         = f.Id,
                    Nome             = f.Nome,
                    Selecionado      = false,
                    IdFuncaoSuperior = f.IdFuncaoSuperior
                });
            }

            return(View(perfilVM));
        }
コード例 #29
0
        public void Dado_Um_Usuario_Com_Email_Existente_Deve_Retornar_Erro()
        {
            Usuario usuario = new Usuario
            {
                IDLDAP   = null,
                IdArvore = 0,
                Nome     = "UsuarioService",
                RG       = "CIMA-888881",
                CPF      = "CIMA-888881",
                Email    = "*****@*****.**"
            };

            Seguranca seguranca = new Seguranca("CN=ROOT", "NG04ecfyYDg=");

            RequisicaoUsuario requisicaoUsuario = new RequisicaoUsuario(usuario, seguranca);

            var result = _usuarioService.CriarUsuario(requisicaoUsuario);

            Assert.IsFalse(result.Status.Success, result.Status.ErrorMessage);
        }
コード例 #30
0
        public void Dado_Um_Usuario_Valido_Deve_Gravar()
        {
            Usuario usuario = new Usuario
            {
                IDLDAP   = null,
                IdArvore = 0,
                Nome     = "UsuarioService",
                RG       = "CIMA-88888",
                CPF      = "CIMA-88888",
                Email    = "*****@*****.**"
            };

            Seguranca seguranca = new Seguranca("CN=ROOT", "NG04ecfyYDg=");

            RequisicaoUsuario requisicaoUsuario = new RequisicaoUsuario(usuario, seguranca);

            var result = _usuarioService.CriarUsuario(requisicaoUsuario);

            Assert.IsNotNull(result);
        }