Ir para conteúdo

Arquivado

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

João Fernandes dos Santos

[Resolvido] Login com niveis de permissões diferentes

Recommended Posts

Esse é meu primeiro tópico, preciso de uma ajuda.

Pessoal estou tentando fazer uma página de Login com níveis de permissões diferentes, o login esta funcionado normal o que não estou conseguindo fazer é retornar a coluna do cadstro do usuário que se encontra o nível. tentei retornar a strsql, que seria o resultado do valor do nivel do usuário mais sempre fica com o valor zero nào sei se é essa a melhor opção masi ja tentei de tudo, alguem tem alguma ideia?

segue abaix o clique do botao e a classe.

 

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Dim strLogin As String = txtLogin.Text
        Dim strSenha As String = txtSenha.Text
        Dim acessando As New Verificar

        Dim myDr As SqlDataReader

        myDr = acessando.VerificarLogin(strLogin, strSenha)

        If myDr.HasRows <> True Then
            lblmensagem.Text = "Login ou Senha inválidos, por favor tente novamente."
        Else

            Server.Transfer("admin.aspx")
        End If

    End Sub







    Public Function VerificarLogin(ByVal strLogin As String, ByVal strSenha As String)


        cnn = New Sqlconnection(DiarioConnectionString)
        Strsql = "select nivel from usuarios where Login='" & strLogin & "' and Senha = '" & strSenha & "'"
        cmd = New sqlCommand(Strsql, cnn)
        cmd.CommandType = System.Data.CommandType.Text
        nivel = Strsql

        Try
            cnn.open()
            cmd.ExecuteNonQuery()

            myDr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection)


        Catch ex As Exception
            Throw ex

        End Try

        Return myDr

    End Function

 

Desde ja Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tinham me falado de usar session só nao sabia como, agora sim vou tirar uma base desse link, nao esperava receber uma resposta tão rápida e desculpa por abrir um tópico que já existia no forum é que nào encontrei mesmo. valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK amigo....

qualquer coisa, posta ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, em referência ao link que o XANBURZUM me passou consegui tirar uma referência para fazer as permissões precisei apenas acrescentar algumas linhas no código do click do botão vejam como ficou:

 

 

Protected Sub btnEntrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEntrar.Click

      
        Dim strLogin As String = txtLogin.Text
        Dim strSenha As String = txtSenha.Text
        Dim acessando As New Verificar
        Dim myDr As SqlDataReader

        myDr = acessando.VerificarLogin(strLogin, strSenha)
        

//fiz o datareader ler o banco de dados 
        myDr.Read()
//joguei o valor em uma Session e igualei ela com o campo do banco de dados - mydr("nivel")
        Session("nivel_acesso") = myDr("nivel")

        If myDr.HasRows <> True Then

            lblMensagem.Text = "Login ou senha inválidos por favor tente novamente."

        Else

// fiz o if usando a Session("nivel_acesso"), que recebeu lá em cima o valor do campo do  banco de dados

            If Session("nivel_acesso") = 2 Then
                Response.Redirect("prof.aspx")

            ElseIf Session("nivel_acesso") = 1 Then
                Response.Redirect("admin.aspx")

            ElseIf Session("nivel_acesso") = 3 Then
                Response.Redirect("aluno.aspx")
            End If

        End If

    End Sub

 

 

Com isso conclui minha tela de login com vários níveis de permissões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, beleza, parabéns...

Compartilhar este post


Link para o post
Compartilhar em outros sites

//Pessoal achei um erro no código, se o usuário digitasse a senha correta funciona normalmente, mas se o usuário //errar a senha, estava dando erro na leitura do Datareader, apenas coloquei a leitura do dataReader dentro do

//if myDr.HasRows <> True obs: depois do ELSE.

 

//vejam como ficou o código.

 

 

 

 

Protected Sub btnEntrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEntrar.Click

      
        Dim strLogin As String = txtLogin.Text
        Dim strSenha As String = txtSenha.Text
        Dim acessando As New Verificar
        Dim myDr As SqlDataReader

        myDr = acessando.VerificarLogin(strLogin, strSenha)
        

        If myDr.HasRows <> True Then

            lblMensagem.Text = "Login ou senha inválidos por favor tente novamente."

        Else

//fiz o datareader ler o banco de dados 
        myDr.Read()
//joguei o valor em uma Session e igualei ela com o campo do banco de dados - mydr("nivel")
        Session("nivel_acesso") = myDr("nivel")

// fiz o if usando a Session("nivel_acesso"), que recebeu o valor do campo do  banco de dados

            If Session("nivel_acesso") = 2 Then
                Response.Redirect("prof.aspx")

            ElseIf Session("nivel_acesso") = 1 Then
                Response.Redirect("admin.aspx")

            ElseIf Session("nivel_acesso") = 3 Then
                Response.Redirect("aluno.aspx")
            End If

        End If

    End Sub

 

AGORA SIM ACHO QUE ESTA CONCLUÍDO A TELA DE 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.