コード例 #1
0
        public async Task <JsonResult> Get(string aux, string acao, int idcliente, int idusuario)
        {
            //Colhe informações do motor que o usuario esta tentado acessar

            var MotorAux = await Auxiliares.GetInfoMotorAux(aux, idcliente);

            AcaoViewModel acoesUsuario = MotorAux.Acoes.Where(x => x.Nome == acao).FirstOrDefault();



            //Verifica as permissões do usuario naquele motor
            if (await Auxiliares.VerificaUsuarioPermissaoAsync(acoesUsuario, idusuario, idcliente))
            {
                //Gera o token para acessar o motor auxiliar
                Token token = new Token {
                    idCliente = idcliente, idUsuario = idusuario
                };
                string Guid = TokenBO.GerateTokenValido(token);


                //envia as informações para o motor aux
                Object retorno = await Auxiliares.GetRetornoAuxAsync(MotorAux, acoesUsuario, token, null, idcliente);

                return(Json(retorno));
            }
            else
            {
                return(Json(new { error = "Houve um erro ou sem permissao" }));
            }
        }
コード例 #2
0
ファイル: UserDAL.cs プロジェクト: esdonmez/Evant_Info
        public TokenBO Login(LoginModel model)
        {
            TokenBO token = new TokenBO();

            sqlCommand = new SqlCommand()
            {
                Connection  = connectionHelper.connection,
                CommandType = CommandType.StoredProcedure,
                CommandText = "LoginSP"
            };

            sqlCommand.Parameters.Add("@Email", SqlDbType.NVarChar).Value    = model.Email;
            sqlCommand.Parameters.Add("@Password", SqlDbType.NVarChar).Value = model.Password;

            connectionHelper.connection.Open();
            SqlDataReader sqlReader = sqlCommand.ExecuteReader();

            if (sqlReader.HasRows)
            {
                if (sqlReader.Read())
                {
                    token = new TokenBO()
                    {
                        IsSuccess   = (bool)sqlReader["IsSuccess"],
                        AccessToken = sqlReader["AccessToken"] as string,
                        Message     = sqlReader["Message"] as string
                    };
                }
            }

            connectionHelper.connection.Close();

            return(token);
        }
コード例 #3
0
        public string GerarToken([FromBody] object objToken)
        {
            dynamic obj   = objToken;
            Token   token = new Token();

            token.idCliente  = obj.idCliente;
            token.idUsuario  = obj.idUsuario;
            token.IP         = "127.0.0.1"; //reavaliar
            token.UrlCliente = obj.UrlCliente;

            var validade = TokenBO.GerateTokenValido(token);

            return(validade);
        }
コード例 #4
0
ファイル: UserBAL.cs プロジェクト: esdonmez/Evant_Info
        public TokenBO Login(LoginModel user)
        {
            if (!string.IsNullOrEmpty(user.Email) && !string.IsNullOrEmpty(user.Password))
            {
                return(userDal.Login(user));
            }

            else
            {
                var model = new TokenBO()
                {
                    AccessToken = null,
                    IsSuccess   = false,
                    Message     = "Kullanıcı adı ve şifreyi boş bırakmayınız."
                };

                return(model);
            }
        }
コード例 #5
0
        public JsonResult PobierzToken(
            [FromServices] SigningConfigurations signingConfigurations,
            [FromServices] TokenConfigurations tokenConfigurations,
            [FromForm] LoginBO uzytkownik)
        {
            string email = uzytkownik.Email;
            string haslo = uzytkownik.Haslo;

            DateTime dtCreation   = DateTime.Now;
            DateTime dtExpiration = dtCreation + TimeSpan.FromSeconds(tokenConfigurations.Seconds);

            string token = null;

            TokenBO odpowiedz = null;

            IQueryable <Uzytkownik> query = _db.Uzytkownik.Where(u => u.Email == email && u.Haslo == haslo);

            bool authentication = (query.Count() > 0);

            if (authentication)
            {
                var instance = query.FirstOrDefault();

                var userId  = instance.IdUzytkownik;
                var isAdmin = instance.Admin;

                try
                {
                    token = GenerujToken(signingConfigurations, tokenConfigurations, dtCreation, dtExpiration, userId.ToString(), isAdmin);
                }
                catch (Exception e)
                {
                    return(Json
                           (
                               new TokenBO
                    {
                        Authenticated = false,
                        Created = null,
                        Expiration = null,
                        AccessToken = null,
                        Message = e.Message.ToString()
                    }
                           ));
                }

                odpowiedz = new TokenBO
                {
                    Authenticated = true,
                    Created       = dtCreation.ToString("yyyy-MM-dd HH:mm:ss"),
                    Expiration    = dtExpiration.ToString("yyyy-MM-dd HH:mm:ss"),
                    AccessToken   = token,
                    Message       = "OK"
                };
            }
            else if (!authentication)
            {
                odpowiedz = new TokenBO
                {
                    Authenticated = false,
                    Created       = null,
                    Expiration    = null,
                    AccessToken   = null,
                    Message       = "Błąd autentykacji"
                };
            }

            return(Json(odpowiedz));
        }
コード例 #6
0
        public bool ValidaToken(string guid, int acao, int aux)
        {
            var validade = TokenBO.ValidaToken(guid, acao, aux);

            return(validade);
        }