Pular para o conteúdo principal

Login de acesso utilizando arquivo XML


Depois de muito tempo sem postar nada, hoje vou demonstrar como utilizar um arquivo XML para validar login de usuário.
Para começar vamos criando um  simples arquivo xml com a seguinte estrutura abaixo:

<?xml version="1.0" encoding="utf-8" ?>
<dados>
    <acesso>
        <usuario>administrador</usuario>
        <senha>123</senha>
    </acesso>
</dados>


Para criar o arquivo xml clique com botão direito em cima do nome do projeto -> Add -> New Item, selecione a opção Data na lista a esquerda e escolha o item XML File.
Feito isso, com o arquivo xml criado, adicione um Web Form ao projeto renomeie para Acesso.aspx e o deixe conforme abaixo:

    <form id="form1" runat="server">
    <div>
        <center>
            Usuario:<asp:TextBox ID="txtLogin" runat="server"></asp:TextBox>
            Senha:<asp:TextBox ID="txtPassword" runat="server"></asp:TextBox></br></br>
            <asp:LinkButton ID="btnAcesso" runat="server">Validar Acesso</asp:LinkButton>
        </center>
    </div>
    </form>


Com a estrutura feita, vamos para a codificação, primeiro vamos criar uma classe que ira retornar verdade/false (Booleana) baseada no parametros de usuario e senha que enviaremos.
Veja na classe abaixo que ela recebe dois parametros e retorna um Boolean.

Não esquece de importar a classe using System.Xml para utilizar objeto XML.

        private string sMensagemRetorno = string.Empty; //variavel criada para receber as mensagens de erro de acesso ou except do TRY/CATCH

        private Boolean ValidarAcesso(string _login, string _password)
        {
            Boolean acessoLiberado = false;
            try
            {
                string sCaminhoDoArquivo = HttpContext.Current.Server.MapPath("~/xmlLogin.xml"); //Caminho e Nome do arquivo
                XmlDocument xmlDoc = new XmlDocument(); //Criando um obejto XML
                xmlDoc.Load(sCaminhoDoArquivo); //Carrego o arquivo para o objeto XML
                XmlNodeList xnList = xmlDoc.GetElementsByTagName("acesso");//Pegando elemento pelo nome da TAG
                foreach (XmlNode xn in xnList) //Fazer um ForEach lendo os elementos do XML
                {
                    if (_login == xn["usuario"].InnerText && _password == xn["senha"].InnerText) //Verifica se o Login e Senha passados conferem com os dados do XML
                    {
                        acessoLiberado = true; //A variavel acessoLiberado só receberá TRUE se forem encontrados usuario e senha passados, senão valor continuará FALSE
                    }
                }
                if (acessoLiberado == false)
                {
                    sMensagemRetorno = "Usuário ou Senha inválido!"; //Seta a variavel com a mensagem de Usuário ou Senha inválidos.
                }

            }
            catch (Exception ex)
            {
                sMensagemRetorno = "Erro: " + ex.Message.ToString(); //Seta a variavel com a mensagem de exceção gerada pelo sistema.
                acessoLiberado = false;
            }
            return acessoLiberado;
        }


Com a classe e objetos criados, falta apenas programar o evento do LinkButton com o código abaixo:
        protected void btnAcesso_Click(object sender, EventArgs e)
        {
            if (ValidarAcesso(txtLogin.Text, txtPassword.Text)) // Verifica se o retorno é TRUE ou FALSE
            {
                Response.Write("Acesso liberado!!!!!!"); //Se o retorno for TRUE informamos que dados fornecidos estão corretos
            }
            else
            {
                Response.Write(sMensagemRetorno); //Se for FALSE é porque ocorreu alguma exceção ou os dados fornecidos estão incorretos
            }


Pronto, agora é só rodar o projeto e testar.
Abraços e até a próximo!

Comentários

Postagens mais visitadas deste blog

MUDANDO A COR DA LINHA DE UMA GRIDVIEW PELO STATUS

Hoje vamos aprender a fazer algo simples, mas que pode ser muito util na visualização dos registros de uma GridView. Temos uma tabela com alguns registros, sendo que uma das colunas é "SITUACAO", que representa se o usuario está ou não ativo. Hoje vou mostrar como é simples "colorir" a GridView conforme o status de alguma coluna, que no nosso exemplo será utilizado a coluna SITUCAO. Vamos ao que interessa então, o que iremos fazer é colorir a linha da GridView de VERDE quando a situação for ATIVO e de AMARELO quando a situação for INATIVO.

WIN32/SALITY: PREVINA-SE DESSA PRAGA!!!

WIN32/SALITY: PREVINA-SE DESSA PRAGA!!! Descrição do Win32:Sality: é um vírus parasita que infecta arquivos executáveis Win32 PE. Ele infecta os arquivos (*. exe e *. scr) no local, de rede e drives removíveis, substituindo o código no ponto de entrada do arquivo original e salvar o código substituído em seu corpo o vírus.

USANDO RANDOM NO ASP.NET

Hoje vou mostrar como é simples usar o Random no Asp.Net. No nosso exemplo vamos criar um projeto em CSharp.Net e na página iremos acrescentar um LABEL e um BUTTON . Veja na figura abaixo: