NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalTutoriaisLanodecastro : Loginperfilacesso001
Quer receber novidades e e-books gratuitos?

FILTRO DE TUTORIAIS:


Login com Perfil de Acesso

 

Esta semana recebi um e-mail, onde um caro colega me pedia algumas dicas de como construir uma aplicação, onde o usuário efetua o login em um certo local do site, e é direcionado para uma página que contém um menu, e estas opções deste menu são baseadas no perfil de acesso deste usuário.

 

Então, acho que vale a pena mostrar hoje este tutorial.Veja os detalhes:

 

 

Abra o Visual Studio.Net e crie um novo projeto, com o nome que sugeri acima. Este projeto deverá ter pelo menos 2 arquivos, chamados, EfetuarLogin.aspx e Conteúdo.aspx:

 

 

Abra a página EfetuarLogin.aspx e insira os seguintes WebControls:

 

» TextBox – txtLogin

» TextBox – txtSenha

» Label - lblMensagem

» Button – btnAutenticar –Text=”Autenticar”

 

 

Esta página não precisa ser exatamente igual ao modelo acima, mas pelo menos, os WebControls e suas referências devem ser como foi descrito acima.

 

Agora abra o arquivo Conteúdo.aspx. É neste arquivo que deve aparecer o menu com as opções para cada usuário. Crie uma interface bem agradável. Eu irei criar apenas o básico, com o intuito de mostrar apenas as funcionalidades da aplicação.

 

 

Notem que eu dividi a página em três seções, um cabeçalho, um espaçamento lateral onde será montado o menu, e um espaçamento central que deverá aparecer o conteúdo.

 

No espaçamento lateral, insira um WebControl do tipo ListBox com o nome de lstMenu. É neste controle que aparecerão os itens disponíveis para cada usuário.

 

 

Se você preferir, pode utilizar outro controle, como o DataGrid, DataList, RadioButtonList...

 

Configure a propriedade AutoPostBack como True do ListBox.

 

Agora vamos dar uma pausa no Visual Studio, abrir o SQL Server e criar duas tabelas, de acordo com a imagem abaixo. Não esqueça de criar um banco de dados para o projeto. Eu chamei o meu banco de dados de TutoriaisDotNet

 

 

Cadastre alguns registros fictícios nas tabelas, conforme o exemplo abaixo:

 

TBUsuarios

 

Explicando o que fizemos acima:

 

Na tabela de usuários, além dos campos de autenticação, temos o campo chamado Grupo, que identifica o grupo que aquele usuário faz parte. Você pode criar sua própria identificação para os grupos, mas é melhor utilizar abreviações para poder ficar mais fácil escrever os grupos que acessam as páginas.

 

Na tabela de TBMenu o campo Nome exibe o nome da opção, o campo URL é a página na qual o usuário será redirecionado, e o campo Acesso possui o nome dos grupos separados por “;” de forma que uma página poderá ser acessada por um ou mais grupos de usuários.

 

Voltamos para o Visual Studio.Net, abra a página EfetuarLogin.aspx e crie a seguinte rotina de código. Lembrando que você deve importar o Namespace System.Data.SqlClient:

 

private void AutenticarUsuario()

            {

                  ///Cria o objeto de conexão.

                  SqlConnection sqlConn=new SqlConnection();

                  ///Indica a string de conexão(não esqueça de configurar)

                  sqlConn.ConnectionString="Initial Catalog=TutoriaisDotNet;Data source=Master;User id=Lano;pwd=1234";

                  ///Cria o objeto de comando para o banco de dados

                  SqlCommand sqlCmd=new SqlCommand();

                  ///Comando Sql que verifica a existência do Login e sua senha

                  sqlCmd.CommandText="Select Login,Grupo from TBUsuarios where Login='" + txtLogin.Text + "' and Senha='" + txtSenha.Text + "'";

                  ///Indica a conexão que executará o comando criado

                  sqlCmd.Connection=sqlConn;

                  ///Abre a conexão

                  sqlConn.Open();

                  ///Cria o leitor de dados baseado no comando criado

                  SqlDataReader sqlDr=sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);

                  ///Verifica se o leitor leu algum registro

                  if (sqlDr.Read())

                  {

                ///Caso verdadeiro, ele cria as seções  para armazenar as configurações do usuário.

                Session["Login"]=txtLogin.Text;

                        Session["Grupo"]=sqlDr.GetValue(1).ToString();

                        ///Redireciona para a página de conteúdo

                        Response.Redirect("Conteudo.aspx");

                  }

                  else

                  {

                        ///Caso falso, mostra a mensagem de erro ao usuário

                        lblMensagem.Text="Login ou Senha inválidos!";

                  }

                  ///Fecha a conexão e retira o objeto da memória.

                  sqlConn.Close();

                  sqlConn.Dispose();

            }

 

Esta rotina deverá ser chamada no evento click do botão btnAutenticar:

 

private void btnAutenticar_Click(object sender, System.EventArgs e)

            {

                  AutenticarUsuario();

            }

 

Abra o arquivo Conteúdo.Aspx, importe o namespace System.Data.SqlClient e System.Data, e digite o seguinte código:

 

private void MontarMenu(string Acesso)

            {

                  ///Cria o objeto de conexão.

                  SqlConnection sqlConn=new SqlConnection();

                  ///Indica a string de conexão(não esqueça de configurar)

                  sqlConn.ConnectionString="Initial Catalog=TutoriaisDotNet;Data source=Master;User id=Lano;pwd=1234";

                  ///Cria o adaptador de dados com o comando sql baseado no grupo selecionado

                  SqlDataAdapter sqlAdp=new SqlDataAdapter("Select Nome,URL from TbMenu where Acesso Like '" + Acesso.Trim() + "%'",sqlConn);

                  ///Cria a tabela virtual que armazenará o menu

                  DataTable tbMenu=new DataTable();

                  ///preenche a tabela com os dados do Adapter

                  sqlAdp.Fill(tbMenu);

                  ///Indica o campo que aparecerá na frente do ListBox

                  lstMenu.DataTextField="Nome";

                  ///Indica a url como valor oculto para redicionar o usuário

                  lstMenu.DataValueField="URL";

                  ///Indica a fonte de dados do ListBox

                  lstMenu.DataSource=tbMenu;

                  ///Renderiza o controle

                  lstMenu.DataBind();

            }

 

Agora vamos fazer com que o ListBox redirecione para a o item selecionado. No evento SelectedIndexChanged do lstMenu, adicione o código a seguir:

 

private void lstMenu_SelectedIndexChanged(object sender, System.EventArgs e)

            {

                  ///Redireciona para a página selecionada

                  Response.Redirect(lstMenu.SelectedItem.Value.ToString());

            }

 

Lembrando que não criarei as outras páginas, isto ficará por conta de vocês.

 

Para concluir, chame a rotina MontarMenu no pageLoad da seguinte forma:

 

private void Page_Load(object sender, System.EventArgs e)

            {

                  if(!Page.IsPostBack)

                  {

                        MontarMenu(Session["Grupo"].ToString());

 

                  }

            }

 

Vamos aos testes:

 

 

Efetuando o Login incorretamente!

 

 

Efetuando o Login com o usuário José

 

Faça o teste com outros usuários!

 

Aqui termina mais um tutorial, dicas e sugestões para lanodecastro@hotmail.com

 

Abraços,

Lano de Castro

 

Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2025 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI