Usuário com melhor resposta
Validar acesso de usuarios ao logar no sistema.

Pergunta
-
Boa noite a todos!
Estou fazendo uma tela de login, e na tela de cadastro de usuários do sistema tenho alguns checkboxes que inserem no banco de dados valores 0 pra false e 1 pra true.
Após efetuar o login, gostaria de saber como verificar esses valores na tabela do banco de dados para negar acesso a certas telas no sistema.
O nome da Tabela é acesso_log
Segue codigo de Select no Login.
Private Sub PLogarSistema() Dim dr As MySqlDataReader = Nothing Using con As MySqlConnection = GetConnectionMySQL() Try con.Open() Dim sql As String = "SELECT * FROM login WHERE usuario_log =? and senha_log=?" Dim cmd As MySqlCommand = New MySqlCommand(sql, con) cmd.Parameters.Add(New MySqlParameter("@usuario_log", txtLog.Text)) cmd.Parameters.Add(New MySqlParameter("@senha_log", txtSen.Text)) dr = cmd.ExecuteReader If dr.HasRows Then dr.Read() strLogin = dr.Item("usuario_log") Me.Hide() frmPrincipal.Show() End If Catch ex As Exception MsgBox(ex.Message) Finally con.Close() End Try End Using
Obrigado desde já!
Respostas
-
Ainda não entendi.
Seria isto?
Dim Str_Check_Box_States As String = dr.Item("acesso_log").ToString chCadastroFuncionario.Checked = CBool(Str_Check_Box_States.Substring(0, 1)) chConsultaLogin.Checked = CBool(Str_Check_Box_States.Substring(1, 1)) chCadastroAcesso.Checked = CBool(Str_Check_Box_States.ToString.Substring(2, 1)) If chCadastroFuncionario.Checked = True Then Msgbox ("Acesso ao cadastro de funcionários liberado") Else Msgbox ("Acesso ao cadastro de funcionários negado") End If If chConsultaLogin.Checked = True Then Msgbox ("Acesso a consultas de login liberado") Else Msgbox ("Acesso a consultas de login negado") End If If chCadastroAcesso.Checked = True Then Msgbox ("Acesso ao cadastro de acesso liberado") Else Msgbox ("Acesso ao cadastro de acesso negado") End If
MARIANO1776
- Marcado como Resposta Thiago Marcondes segunda-feira, 5 de fevereiro de 2018 21:46
Todas as Respostas
-
-
Bom dia.
No form de cadastro de funcionário. Estou usando o seguinte código:
Private Sub PSalvaLogin() Using con As MySqlConnection = GetConnectionMySQL() Try con.Open() Dim sql As String = "INSERT INTO login (usuario_log, senha_log, acesso_log) VALUES (?,?,?)" Dim cmd As MySqlCommand = New MySqlCommand(sql, con) cmd.Parameters.Add(New MySqlParameter("@usuario_log", txtUsuario.Text)) cmd.Parameters.Add(New MySqlParameter("@senha_log", txtSenha.Text)) cmd.Parameters.Add(New MySqlParameter("@acesso_log", CInt(chCadastroFuncionario.CheckState).ToString & CInt(chConsultaLogin.CheckState).ToString & CInt(chCadastroAcesso.CheckState).ToString)) cmd.ExecuteNonQuery() Catch ex As Exception MsgBox("ex.Message") Exit Sub Finally con.Close() End Try End Using End Sub
Gostaria de saber como faço para validar essa linha ao logar no sistema
("@acesso_log", CInt(chCadastroFuncionario.CheckState).ToString & CInt(chConsultaLogin.CheckState).ToString & CInt(chCadastroAcesso.CheckState).ToString))
Obrigado.
-
Boa tarde.
Não compreendi sua dúvida.
Na thread anterior paramos aqui:
Dim Str_Check_Box_States As String = dr.Item("acesso_log").ToString
chCadastroFuncionario.Checked = CBool(Str_Check_Box_States.Substring(0, 1))
chConsultaLogin.Checked = CBool(Str_Check_Box_States.Substring(1, 1)) chCadastroAcesso.Checked = CBool(Str_Check_Box_States.ToString.Substring(2, 1))
MARIANO1776
-
Boa noite! Eu só preciso validar as informações salvas na tabela do banco de dados quando logar no sistema. Não sei se consegue me entender? Porque aquelas instruções da thread anterior eram pra gravar e fazer select no banco de dados. Eu preciso validar os 0s e 1s ao entrar no sistema. Conseguiu entender?
-
Ainda não entendi.
Seria isto?
Dim Str_Check_Box_States As String = dr.Item("acesso_log").ToString chCadastroFuncionario.Checked = CBool(Str_Check_Box_States.Substring(0, 1)) chConsultaLogin.Checked = CBool(Str_Check_Box_States.Substring(1, 1)) chCadastroAcesso.Checked = CBool(Str_Check_Box_States.ToString.Substring(2, 1)) If chCadastroFuncionario.Checked = True Then Msgbox ("Acesso ao cadastro de funcionários liberado") Else Msgbox ("Acesso ao cadastro de funcionários negado") End If If chConsultaLogin.Checked = True Then Msgbox ("Acesso a consultas de login liberado") Else Msgbox ("Acesso a consultas de login negado") End If If chCadastroAcesso.Checked = True Then Msgbox ("Acesso ao cadastro de acesso liberado") Else Msgbox ("Acesso ao cadastro de acesso negado") End If
MARIANO1776
- Marcado como Resposta Thiago Marcondes segunda-feira, 5 de fevereiro de 2018 21:46
-
-
Assim? Public Bool_CadastroFuncionario, Bool_ConsultaLogin, Bool_CadastroAcesso As Boolean 'criar estas variáveis públicas no início do formulário Dim Str_Check_Box_States As String = dr.Item("acesso_log").ToString ' no seu select Bool_CadastroFuncionario = CBool(Str_Check_Box_States.Substring(0, 1)) Bool_ConsultaLogin = CBool(Str_Check_Box_States.Substring(1, 1)) Bool_CadastroAcesso = CBool(Str_Check_Box_States.ToString.Substring(2, 1)) chCadastroFuncionario.Checked = Bool_CadastroFuncionario chConsultaLogin.Checked = Bool_ConsultaLogin chCadastroAcesso.Checked = Bool_CadastroAcesso Private Sub Bu_Cadastro_Funcionario_Click(sender As System.Object, e As System.EventArgs) Handles Bu_Cadastro_Funcionario.Click If Bool_CadastroFuncionario = True Then Frm_CadastroFuncionario.ShowDialog() Else MsgBox("Acesso ao cadastro de funcionários negado") End If End Sub Private Sub Bu_ConsultaLogin_Click(sender As System.Object, e As System.EventArgs) Handles Bu_ConsultaLogin.Click If Bool_ConsultaLogin = True Then Frm_ConsultaLogin.ShowDialog() Else MsgBox("Acesso a consultas de login negado") End If End Sub Private Sub Bu_CadastroAcesso_Click(sender As System.Object, e As System.EventArgs) Handles Bu_CadastroAcesso.Click If Bool_CadastroAcesso = True Then Frm_CadastroAcesso.ShowDialog() Else MsgBox("Acesso ao cadastro de acesso negado") End If End Sub
MARIANO1776
-
Boa noite! Eu tenho a tela de login, certo? Após o login, ele vai pra tela principal do sistema, que é onde contem os botões de cadastros e etc. Eu preciso aplicar essa validação nessa tela principal. Para quando a pessoa clicar no cadastro de funcionários, por exemplo. O sistema verifique os 1s e 0s para liberar ou negar acesso.
Desculpe o incomodo, mas estou me batendo nisso. Na verdade, só tá faltando isso pra finalizar o projeto.
-
Entendi, porisso sugeri a criação das variáveis públicas
Public Bool_CadastroFuncionario, Bool_ConsultaLogin, Bool_CadastroAcesso As Boolean 'criar estas variáveis públicas no início do formulário
Após o login, os seus zeros e uns estarão armazenados nestas variáveis como false e true.
Como são públicas, estarão visíveis por todos os formulários.
Você pode declará-las em um módulo ou no formulário de login.
Não é nenhum incômodo.
Estamos aqui para isto, vamos resolver.
MARIANO1776
-
-
-