コード例 #1
0
        /// <summary>
        /// Metodo que é acionado no login da webApi pela uri/token
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var     identity = new ClaimsIdentity(context.Options.AuthenticationType);
            Usuario user     = new Usuario {
                CdPassword = context.Password, DsEmail = context.UserName
            };

            user = new UsuarioBo().Login(user);

            if (user != null)
            {
                List <Perfil> perfilList = new PerfilDao().GetPerfisByEmail(new Usuario {
                    DsEmail = user.DsEmail
                });

                foreach (Perfil perfil in perfilList)
                {
                    identity.AddClaim(new Claim(ClaimTypes.Role, perfil.DsPerfil));
                }

                identity.AddClaim(new Claim("credencial", new JavaScriptSerializer().Serialize(user)));
                identity.AddClaim(new Claim(ClaimTypes.Name, user.NmUsuario));
                await Task.FromResult(context.Validated(identity));
            }
            else
            {
                context.SetError("Credenciais invalidas", "Combinação de Usuário e senha incorreta.");
                return;
            }
        }
コード例 #2
0
 private void simpleButtonIngresar_Click(object sender, EventArgs e)
 {
     try
     {
         this.Cursor = Cursors.WaitCursor;
         string    usuario   = textEditUsuario.Text;
         string    password  = textEditPassword.Text;
         UsuarioBo usuarioBo = new UsuarioBo();
         bool      valido    = usuarioBo.Login(usuario, password);
         if (valido)
         {
             var entity = usuarioBo.Get(usuario);
             Usuario      = entity;
             DialogResult = DialogResult.OK;
         }
         else
         {
             XtraMessageBox.Show(ErrorLogin, Properties.Resources.MessaBoxTittle, MessageBoxButtons.OK);
             textEditUsuario.Focus();
         }
     }catch (Exception ex)
     {
         XtraMessageBox.Show(ex.Message, Properties.Resources.MessaBoxTittle, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     finally
     {
         this.Cursor = Cursors.Default;
     }
 }
コード例 #3
0
        public ActionResult Login(Usuario usuario)
        {
            var usuarioLogado = new UsuarioBo().Login(usuario);

            if (usuarioLogado == null)
            {
                ModelState.AddModelError(string.Empty, "Usuário e/ou senha incorreto(s).");
                return(View(usuario));
            }

            List <Perfil> perfilList = new PerfilDao().GetPerfisByEmail(new Usuario {
                DsEmail = usuario.DsEmail
            });

            string[] perfis = perfilList.Select(x => x.DsPerfil).ToArray();


            var principle       = new GenericPrincipal(new GenericIdentity($"{usuario.NmUsuario} {usuario.NmUsuario}"), perfis);
            var ticket          = new FormsAuthenticationTicket(1, principle.Identity.Name, DateTime.Now, DateTime.Now.AddMonths(30), true, string.Join(",", perfis));
            var encryptedTicket = FormsAuthentication.Encrypt(ticket);

            var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

            Response.SetCookie(cookie);

            Session["Nome"]      = usuarioLogado.NmUsuario;
            Session["IdEmpresa"] = usuarioLogado.IdEmpresa;
            Session["IdUsuario"] = usuarioLogado.IdUsuario;

            Session["Role"] = "authorize";

            TempData["message"] = "Logado com sucesso!";

            if (usuarioLogado.Perfis.Select(x => x.DsPerfil).Contains("master"))
            {
                Session["Role"] = "master";
                return(RedirectToAction("Index", "Empresa"));
            }


            if (usuarioLogado.Perfis.Select(x => x.DsPerfil).Contains("admin"))
            {
                Session["Role"] = "admin";
                return(RedirectToAction("Index", "Usuario"));
            }

            if (usuarioLogado.Perfis.Select(x => x.DsPerfil).Contains("funcionario"))
            {
                Session["Role"] = "funcionario";
                return(RedirectToAction("EspelhoPonto", "Usuario"));
            }

            return(RedirectToAction("Index", "Home"));
        }
コード例 #4
0
        public ActionResult Index()
        {
            List <Usuario> usuarioList = new UsuarioBo().Read(new Usuario {
                IdEmpresa = int.Parse(Session["IdEmpresa"].ToString())
            });

            var results = from usuario in usuarioList
                          where usuario.CdIsAdmin == false
                          select usuario;

            return(View(results.ToList()));
        }
コード例 #5
0
 private void InitConnect()
 {
     try
     {
         UsuarioBo usuarioBo = new UsuarioBo();
         var       entity    = usuarioBo.Get("username");
     }
     catch (Exception ex)
     {
         XtraMessageBox.Show("Ocurrió el siguiente error al conectar con la base de datos: \n" + ex.Message,
                             Properties.Resources.MessaBoxTittle, MessageBoxButtons.OK, MessageBoxIcon.Error);
         Application.Exit();
     }
 }
コード例 #6
0
        public ActionResult Edit(int?idUsuario)
        {
            Usuario usuario = new Usuario {
                IdEmpresa = int.Parse(Session["IdEmpresa"].ToString()), IdUsuario = (int)idUsuario
            };

            usuario = new UsuarioBo().Get(usuario);

            if (usuario != null)
            {
                return(View(usuario));
            }

            return(new HttpNotFoundResult("Usuario não encontrado"));
        }
コード例 #7
0
        public ActionResult Relatorios(int?idUsuario)
        {
            Usuario usuario = new Usuario {
                IdEmpresa = int.Parse(Session["IdEmpresa"].ToString()), IdUsuario = (int)idUsuario
            };

            usuario = new UsuarioBo().Get(usuario);
            if (usuario == null)
            {
                return(new HttpNotFoundResult("Usuario não encontrado"));
            }

            RelatorioPontoViewModel rel = new RelatorioPontoViewModel();

            rel.Usuario = usuario;
            return(View(rel));
        }
コード例 #8
0
        public FileStreamResult Pdf(List <Ponto> pontos)
        {
            MemoryStream workStream = new MemoryStream();
            Document     document   = new Document();

            PdfWriter.GetInstance(document, workStream).CloseStream = false;
            PdfPCell  c = new PdfPCell();
            PdfPTable t = new PdfPTable(2);

            document.Open();

            //imagem

            var logoPontoMap = Server.MapPath("~/Content/Img/") + "pontomap.png";
            var imgInstancia = Image.GetInstance(logoPontoMap);

            imgInstancia.Alignment = iTextSharp.text.Image.UNDERLYING;
            imgInstancia.ScaleAbsolute(100.0F, 70.0F);

            document.Add(imgInstancia);
            document.Add(new Paragraph(" ", FontFactory.GetFont("Arial", 14, iTextSharp.text.Font.BOLD, BaseColor.BLACK)));

            if (pontos.Count == 0)
            {
                Paragraph msgNaoHaRegistros = new Paragraph(" Não há registros para o intervalo de data selecionado.",
                                                            FontFactory.GetFont("Arial", 14, iTextSharp.text.Font.BOLD, BaseColor.BLACK));
                msgNaoHaRegistros.SpacingBefore = 100f;
                document.Add(msgNaoHaRegistros);
            }
            else
            {
                Usuario user = new UsuarioBo().Get(new Usuario {
                    IdUsuario = pontos[0].IdUsuario, IdEmpresa = int.Parse(Session["IdEmpresa"].ToString())
                });

                t.TotalWidth    = 144f;
                t.SpacingBefore = 100f;

                c = new PdfPCell();
                c.AddElement(new Chunk("FUNCIONÁRIO: " + user.NmUsuario));
                c.Colspan = 2;
                t.AddCell(c);
            }



            foreach (Ponto p in pontos)
            {
                c = new PdfPCell();
                c.AddElement(new Chunk("Data do registro"));
                t.AddCell(c);

                c = new PdfPCell();
                c.AddElement(new Chunk(p.DtRegistroString));
                t.AddCell(c);
            }


            document.Add(t);
            document.Close();

            byte[] byteInfo = workStream.ToArray();
            workStream.Write(byteInfo, 0, byteInfo.Length);
            workStream.Position = 0;

            return(new FileStreamResult(workStream, "application/pdf"));
        }