Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DaniloTec

[Resolvido] Sistema de login.

Recommended Posts

Bom dia a todos.

Estou fazendo um sistema de login utilizando session pra controlar as permissões dos usuários no acesso das páginas. Criei uma classe chamada sessao com os métodos carregaSessao e verificaSessao.

public void carregaSessao(string strLogin, string strSenha) {
		//
		if (strLogin == "login" && strSenha == "123456"){
			Session["bitLogado"] = true;
			Session["intPermissao"] = 1;
		}else{
			Session["bitLogado"] = true;
			Session["intPermissao"] = 2;
		}
	}


	public void verificaPermissao() {
		if ((int)Session["intPermissao"] != 1)
		{
			Response.Redirect("default.aspx");
		}
	}
Coloquei um login e senha fixos somente para fins de testes, só para ver o comportamento da aplicação.

No botão entrar eu coloque a seguinte função:

protected void btnEntrar_Click(object sender, EventArgs e)
	{
		sessao obj = new sessao();
		obj.carregaSessao(txtLogin.Text, txtSenha.Text);
		if ((int)Session["intPermissao"] == 1)
		{
			Response.Redirect("adm.aspx");
		}
		else {
			Response.Redirect("colaborador.aspx");
		}
	}
Se retornar a session["intPermissao"] == 1 é adm, senão é colaborador. Até aí, tudo bem. Se eu rodar essa aplicação funciona direitinho, ele me retorna se é adm ou não e me redireciona pra devida página.

O problema é que se eu rodar a aplicação e acessar a página adm.aspx (pra ver se está validando a session) ele me retorna o seguinte erro:

Object reference not set to an instance of an object. na linha:

if ((int)Session["intPermissao"] != 1)
Na página adm.aspx tem o seguinte código no onload:

protected void Page_Load(object sender, EventArgs e)
	{
		sessao obj = new sessao();
		obj.verificaPermissao();
	}
Sabem me dizer o que acontece?

Estou começando a programar agora em .NET, até o momento eu só programei em ASP. Montei essa lógica de login pensando em ASP e não sei se esta é a melhor forma de se fazer em .NET.

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso que o quintelab disse, faz uma outra verificação, se intPermissao for null é porque é a primeira vez que ele entra no sistema, ou seja, ainda não fez login.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.