Login. Criar um novo website File > New > WebSite Framework 4.5 Visual C# ASP.NET Empty Web Site Nome do projeto: WebLogin



Documentos relacionados
Tutorial de Aplicação Simples usando Web Forms e MySQL. Luiz Eduardo Guarino de Vasconcelos

Lists. Aproveitando o projeto WebLogin, vamos ver como implementar alguns componentes de lista (DropDownList, RadioButtonList e CheckBoxList).

Associação 1:1. Baseado no Diagrama de Classe a seguir, iremos criar as classes de Modelagem que compõem a Associação de Piloto com Carro.

Consulta de endereço através do Cep

Adicionando a classe de Mapeamento Faça o download do arquivo Descompacte-o

Aula 06 Usando controles em ASP.NET

LAB12: Componentes ASP.NET

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos aplicar os temas e os skins.

Criando uma aplicação Web em C# usando o NHibernate

Código do Sistema Ponto de Vendas

insfcanceof new public switch transient while byte continue extends for int null

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI

Criação de uma aplicação Web ASP.NET MVC 4

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas:

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2012

Web Services Novembro de 2011

Views. objconexao = Mapped.Connection(); objcommand = Mapped.Command("SELECT * FROM vw_todoscarros_com_piloto", objconexao);

II Semana de Tecnologia da Informação

PHP e MySQL Autenticação de Usuários

LAB 18: ASP.NET e Web Services

Para baixá-lo entre no site : Selecione a aba Downloads ; Clique no link: Microsoft Visual C# Express 2010; Por meio desse

Manual de Instalação Atendimento 3.4

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Exercício em ASP.NET (Agenda)

Pronto! Todos os instaladores correspondentes do filtro aplicado no passo 4 serão disponibilizados para download.

Exercícios de Revisão Java Básico

Intel Teach Program Essentials Course. Tutorial para wik.is

ASP.Net com MySQL Connector/Net 6.2.5

ACESSO AO BANCO DE DADOS PARTE 2 ALTERAÇÃO, EXCLUSÃO E INCLUSÃO DE REGISTROS

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Linguagem de Programação Procedural (VB) Prof. MSc Eng Marcelo Bianchi AULA 01 - INTRODUÇÃO AO VB

Encapsulamento de Dados

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

WebAPI. Comente o bloco system.data e entityframework (caso existam) no web.config

Construindo Aplicações com ASP.NET MVC 2.0 Aula 03 Luiz Alberto Ferreira Gomes. Ciência da Computação da PUC Minas

Construindo Aplicações com ASP.NET MVC 2.0 Aula 02 Luiz Alberto Ferreira Gomes. Ciência da Computação da PUC Minas

PROGRAMAÇÃO EM C# COM VISUAL STUDIO.NET

Repeater no GASweb. Regiões

Cadastro de Usuários e Agendamento de Consultas

Validando dados de páginas WEB

Prof. Jhonatan Fernando

Guia do Usuário do Aplicativo Desktop Client

Prova de pré-requisito

Connection String usada por uma Class Library

Tutorial WEB Soluço es Click.

Treinamento - Union Web

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

NET Antivírus PROCEDIMENTO DE INSTALAÇÃO DO ANTIVÍRUS. Blablabla

ALTERAÇÃO DAS CONFI GURAÇÕES PESSOAI S... 3 I NSERÇÃO DE M ATERI AL NO PORTAL NOTÍ CI A EVENTO PÁGI NA I MAGEM...

UNIPAMPA Universidade Federal do Pampa. Núcleo de Tecnologia da Informação (NTI)

JAVAWEB AULA 2 Prof. Daniela Pires Sumário

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Aplicação MVC com Class Library

Manual Banco de dados MySQL

Criação de uma aplicação Web ASP.NET MVC usando Code First

ESUS SAMU V INSTRUÇÕES PARA INSTALAÇÃO

Inserindo e Listando registros

Acesso a Dados: com Wizard (sem escrever código), e Programaticamente

O QUE É A CENTRAL DE JOGOS?

Manual de Instalação do e.sic - Sistema Municipal de Informações ao Cidadão

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/ / 31

Guia de início rápido do Alteryx Server

2 Orientação a objetos na prática

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Trabalhando com XML RENATO CORREIA DE MATOS

phpcollab Versão 2.4

MANUAL DE PADRONIZAÇÃO DE CODIFICAÇÃO PHP CODING STANDARDS

Manual de inscrições VI ENIEDUC

Medical Office 2015 Instruções de Instalação e Configuração

Programação em ASP.net

C# - Conexão com MySQL

JDBC. Prof. Márcio Bueno

Módulo 3936 ASP.NET. Financiado pelo FSE

JavaServer Faces. Parte 2

Um Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS

Mini Curso DESCOMPLICANDO C# Professor Hélio

Programação: Estruturas de seleção

REGRAS DE CODIFICAÇÃO PARA O SMARTSHARE

ADO1. Visual Studio 2008 New Web Site: ADO1 em C:\Utilizadors\Fernando\ \ARQSI\TP6

Aplicaça o Formula rio ScriptCase

Desenvolvimento de aplicações Web. Java Server Pages

Manual de Processos ISS Online. Novo Cadastro e Associar Contador a Empresa

Bem vindos ao Curso de ASP.NET MVC 3 Razor e C#

Trabalhando com menus e caixas de diálogos

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Manual do Instar Mail v2.0

Acesso a Dados com Wizard (sem escrever código) e Programaticamente

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

Programação para web JavaScript

Tribunal de Justiça do Estado de Mato Grosso Supervisão de Informática Departamento de Desenvolvimento Sistema Declaração On Line. Declaração On Line

Para o envio de s pelo PHP é necessário seguir a seguinte sintaxe:

UNIVERSIDADE REGIONAL DE BLUMENAU DIVISÃO DE TECNOLOGIA DA INFORMAÇÃO

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

Juiz de Fora, Maio de 2015

Aula07 Forms Authentication

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Transcrição:

Login Criar um novo website File > New > WebSite Framework 4.5 Visual C# ASP.NET Empty Web Site Nome do projeto: WebLogin Estrutura do projeto Criar pastas e deixar a estrutura do projeto conforme a figura.

DLL Na pasta Bin > Add > Existing Item Adicionar o arquivo MySql.Data.dll, disponível em http://www.luizguarino.com.br/site/pi/mysql.data.dll Nova Classe Adicione uma nova classe na pasta App_Code/Classes Nome da classe: Pessoa Defina o namespace dessa classe como namespace WebLogin.Classes A classe Pessoa deve ficar como: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebLogin.Classes /// <summary> /// Summary description for Pessoa /// </summary> public class Pessoa public int Codigo get; set; public string Nome get; set; public string Email get; set; public string Senha get; set; public int Tipo get; set; public Pessoa() // // TODO: Add constructor logic here //

Novo Schema No MySql Workbench, criar um novo schema chamado bdlogin Tabela Criar a tabela no banco de dados Inserir Registros Adicione alguns registros nessa tabela, diretamente no banco de dados. Estou assumindo, na coluna pes_tipo, que 0 é Administrador e 1 é Cliente. Adicionando o Mapped Na pasta App_Code > Add > Existing Item Adicionar o arquivo Mapped.cs, disponível em http://www.luizguarino.com.br/site/pi/mapped.zip Descompacte o arquivo antes de adicionar a classe Mapped. Depois de adicioná-la ao projeto, altere o namespace da classe para namespace WebLogin

String de conexão No arquivo web.config, adicione a string de conexão <configuration> <appsettings> <add key="strconexao" value="database=bdlogin;data Source=localhost;User Id=root;Password=senha_do_banco; pooling=false"/> </appsettings>. </configuration> Nova Classe No projeto, adicione uma nova classe na pasta App_Code/Persistencia, chamada PessoaBD. Defina o namespace como namespace WebLogin.Persistencia Adicione um método para realizar a autenticação, passando como parâmetro o e-mail e a senha. Adicione um método para recuperar as informações da Pessoa, passando como parâmetro o id da pessoa. A classe deverá ficar como: using System; using System.Collections.Generic; using System.Linq; using System.Web; using WebLogin.Classes; namespace WebLogin.Persistencia /// <summary> /// Summary description for PessoaBD /// </summary> public class PessoaBD public Pessoa Autentica(string email, string senha) Pessoa obj = null; System.Data.IDbConnection objconexao; System.Data.IDbCommand objcommand; System.Data.IDataReader objdatareader; objconexao = Mapped.Connection(); objcommand = Mapped.Command("SELECT * FROM tbl_pessoa WHERE pes_email =?email and pes_senha =?senha", objconexao); objcommand.parameters.add(mapped.parameter("?email", email)); objcommand.parameters.add(mapped.parameter("?senha", senha)); objdatareader = objcommand.executereader();

while (objdatareader.read()) obj = new Pessoa(); obj.codigo = Convert.ToInt32(objDataReader["pes_id"]); obj.nome = Convert.ToString(objDataReader["pes_nome"]); obj.email = Convert.ToString(objDataReader["pes_email"]); obj.tipo= Convert.ToInt32(objDataReader["pes_tipo"]); objdatareader.close(); objconexao.close(); objcommand.dispose(); objconexao.dispose(); objdatareader.dispose(); return obj; public Pessoa Select(int id) Pessoa obj = null; System.Data.IDbConnection objconexao; System.Data.IDbCommand objcommand; System.Data.IDataReader objdatareader; objconexao = Mapped.Connection(); objcommand = Mapped.Command("SELECT * FROM tbl_pessoa WHERE pes_id =?codigo", objconexao); objcommand.parameters.add(mapped.parameter("?codigo", id)); objdatareader = objcommand.executereader(); while (objdatareader.read()) obj = new Pessoa(); obj.codigo = Convert.ToInt32(objDataReader["pes_id"]); obj.nome = Convert.ToString(objDataReader["pes_nome"]); obj.email = Convert.ToString(objDataReader["pes_email"]); obj.tipo = Convert.ToInt32(objDataReader["pes_tipo"]); objdatareader.close(); objconexao.close(); objcommand.dispose(); objconexao.dispose(); objdatareader.dispose(); return obj; public PessoaBD() // // TODO: Add constructor logic here //

Adicionando pastas para cada tipo de pessoa Adicione as pastas Administrador, Cliente e Erro dentro de Pages. Dentro da pasta Pages/Administrador, adicione um Webform chamado Index.aspx. Dentro da pasta Pages/Cliente, adicione um Webform chamado Index.aspx. Dentro da pasta Pages/Erro, adicione um Webform chamado AcessoNegado.aspx. Dentro da pasta Pages, adicione um Webform chamado Login.aspx Pages/Administrador/Index.aspx Colocar apenas um Label e um LinkButton Componente ID Text Label lbltitulo Tela Principal do Administrador LinkButton lbsair Sair Pages/Cliente/Index.aspx Colocar apenas um Label Componente ID Text Label lbltitulo Tela Principal do Clinte LinkButton lbsair Sair Login.aspx Adicione os componentes: Componente ID Text Label lbltitulo Login Label lblemail Email Textbox txtemail Label lblsenha Senha Textbox txtsenha Button btnentrar Entrar Label lblmensagem

Pages/Erro/AcessoNegado.aspx Colocar um Label e um Hyperlink. Label Hyperlink Text: Acesso Negado NavigateUrl: ~/Pages/Login.aspx Text: Voltar para a tela de Login Tela Login. Adicionar os namespaces using WebLogin.Classes; using WebLogin.Persistencia; Criar os métodos a seguir no Login.aspx.cs private bool IsPreenchido(string str) bool retorno = false; if (str!= string.empty) retorno = true; return retorno; private bool UsuarioEncontrado(Pessoa pessoa) bool retorno = false; if (pessoa!= null) retorno = true; return retorno;

No click do botão: string email = txtemail.text.trim(); string senha = txtsenha.text.trim(); if (!IsPreenchido(email)) lblmensagem.text = "Preencha o email"; txtemail.focus(); return; if (!IsPreenchido(senha)) lblmensagem.text = "Preencha a senha"; txtsenha.focus(); return; PessoaBD bd = new PessoaBD(); Pessoa pessoa = new Pessoa(); pessoa = bd.autentica(email, senha); if (!UsuarioEncontrado(pessoa)) lblmensagem.text = "Usuário não encontrado"; txtemail.focus(); return; Session["ID"] = pessoa.codigo; switch (pessoa.tipo) case 0: Response.Redirect("Administrador/Index.aspx"); break; case 1: Response.Redirect("Cliente/Index.aspx"); break; default: break;

Administrador/Index.aspx Adicionar os namespaces using WebLogin.Classes; using WebLogin.Persistencia; Adicionar o método que verifica se é administrador (tipo ==0) private bool IsAdministrador(int tipo) bool retorno = false; if (tipo == 0) retorno = true; return retorno; No Page_Load dessa página protected void Page_Load(object sender, EventArgs e) int codigo = Convert.ToInt32( Session["ID"]); PessoaBD bd = new PessoaBD(); Pessoa pessoa = bd.select(codigo); if (!IsAdministrador(pessoa.Tipo)) Response.Redirect("../Erro/AcessoNegado.aspx"); else lbltitulo.text = "Bem vindo (Administrador) : " + pessoa.nome; 2 cliques no LinkButton para alterar o evento click do componente protected void lbsair_click(object sender, EventArgs e) Session.Abandon(); Session.Clear(); Session.RemoveAll(); Response.Redirect("../Login.aspx");

Cliente/Index.aspx Adicionar os namespaces using WebLogin.Classes; using WebLogin.Persistencia; Adicionar o método que verifica se é cliente (tipo ==1) private bool IsCliente(int tipo) bool retorno = false; if (tipo == 1) retorno = true; return retorno; No Page_Load dessa página protected void Page_Load(object sender, EventArgs e) int codigo = Convert.ToInt32(Session["ID"]); PessoaBD bd = new PessoaBD(); Pessoa pessoa = bd.select(codigo); if (!IsCliente(pessoa.Tipo)) Response.Redirect("../Erro/AcessoNegado.aspx"); else lbltitulo.text = "Bem vindo (Cliente) : " + pessoa.nome; 2 cliques no LinkButton para alterar o evento click do componente protected void lbsair_click(object sender, EventArgs e) Session.Abandon(); Session.Clear(); Session.RemoveAll(); Response.Redirect("../Login.aspx"); Colocar a página Login como a primeira página a ser executada (Set As Start Page). Executar a aplicação Logar como Administrador e Sair. Logar como Cliente e Sair Caso o Administrador tente acessar a página do Cliente (ou vice-versa), a tela Acesso Negado será exibida.