예제 #1
0
        public IActionResult Login(LoginIn loginBE)
        {
            ViewBag.UsuarioInvalido = true;

            try
            {
                //var login = RealizarLogin(loginBE);
                var login = new LoginOut
                {
                    nomeUsuario = "Leticia",
                    loginValido = true
                };

                if (login.loginValido)
                {
                    HttpContext.Session.SetString(Sessions.SessionUser, login?.nomeUsuario);
                    ViewBag.Usuario         = HttpContext.Session.GetString(Sessions.SessionUser);
                    ViewBag.UsuarioInvalido = false;
                    return(RedirectToAction("Index", "Home", HttpContext.Session));
                }
            }
            catch (Exception ex)
            {
                ViewData["Message"] = $"Ocorreu um erro ao realizar o login. Por favor tente novamente. [{ex.Message}]";
            }

            return(View());
        }
예제 #2
0
        private LoginOut RealizarLoginAsync(LoginIn loginIn)
        {
            var loginOut = new LoginOut();

            try
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Services.UrlBase);
                    var response = client.PostAsJsonAsync(Services.UrlAutenticacao, loginIn).Result;

                    if (response.IsSuccessStatusCode)
                    {
                        loginOut.loginValido = response.Content.ReadAsStringAsync().Result.Contains("token");
                    }
                    else
                    {
                        loginOut.Mensagem = "Usuário e/ou senha inválidos";
                    }
                }

                return(loginOut);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #3
0
 public IHttpActionResult Login(LoginIn input)
 {
     if (ModelState.IsValid)
     {
         var user     = new SystemManagement.Business.Controllers.User();
         var loginOut = user.Login(input);
         return(ResponseMessage(Request.CreateResponse(System.Net.HttpStatusCode.OK, loginOut)));
     }
     else
     {
         var output = new LoginOut();
         output.result  = SystemManagement.Entities.Common.Result.Error;
         output.message = DetailErrorBadRequest(ModelState);
         return(ResponseMessage(Request.CreateResponse(System.Net.HttpStatusCode.BadRequest, output)));
     }
 }
예제 #4
0
        public LoginOut Login(LoginIn input)
        {
            var output = new LoginOut()
            {
                result = Entities.Common.Result.Error
            };
            var request    = new Business.User.User();
            var getUserOut = request.GetUser(new MethodParameters.User.GetUserIn()
            {
                usr_userName = input.usr_userName
            });

            if (getUserOut.result == Entities.Common.Result.Success)
            {
                if (getUserOut.user.usr_userName == input.usr_userName)
                {
                    var passwordIn = Common.Security.Encryption.Encrypt(input.usr_password, getUserOut.user.usr_userName);
                    var passwordBd = getUserOut.user.usr_password;

                    if (passwordIn == passwordBd)
                    {
                        string sessionId        = Guid.NewGuid().ToString();
                        var    authentication   = new SystemManagement.Business.Authentication.Authentication();
                        var    createSessionOut = authentication.CreateSession(new MethodParameters.Authentication.CreateSessionIn()
                        {
                            sessionId = sessionId,
                            userId    = getUserOut.user.usrID
                        });

                        if (createSessionOut.result == Entities.Common.Result.Success)
                        {
                            output.sessionId = sessionId;
                            output.user      = getUserOut.user;;

                            var jwtManager       = new SystemManagement.Business.Authentication.JwtManager();
                            var generateTokenOut = jwtManager.GenerateToken(new MethodParameters.Authentication.JwtManager.GenerateTokenIn()
                            {
                                sessionId = sessionId,
                                usrID     = getUserOut.user.usrID
                            });

                            if (generateTokenOut.result == Entities.Common.Result.Success)
                            {
                                output.token  = generateTokenOut.token;
                                output.user   = getUserOut.user;
                                output.result = Entities.Common.Result.Success;
                            }
                        }
                    }
                    else
                    {
                        output.message = "Credenciales incorrectas, verifique e intente nuevamente";
                    }
                }
                else
                {
                    output.message = "Credenciales incorrectas, verifique e intente nuevamente";
                }
            }
            else
            {
                output.message = "Credenciales incorrectas, verifique e intente nuevamente";
            }


            return(output);
        }