Ir para conteúdo

POWERED BY:

Arquivado

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

alex clempes

sistema de logim em vb 2010

Recommended Posts

Oi sou novo aqui nesse forum, estou fazendo um trabalho para o curso que estou fazendo de um "sistema de cadastro de equipamentos", o problema é que quero fazer um sistema de login com controle de acesso, eu já consegui fazer o sistema de login funcionar porem ele esta sem o controle de acesso ou seja qualquer usuario que se logar vai ter acesso ao sistema todo, abaixo eu vou descrever como queria que funcionase e o codigo completo do meu sitema de login.

 

para começar tenho meu form login.vb com as seguintes configurações:

 

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Dim connection As New SqlClient.SqlConnection
Dim command As New SqlClient.SqlCommand
Dim adaptor As New SqlClient.SqlDataAdapter
Dim dataset As New DataSet
Dim vnivel As String

connection.ConnectionString = ("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\gerencia.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
command.CommandText = "SELECT login, senha, acesso FROM acesso WHERE login='" & UsernameTextBox.Text & "' and senha='" & PasswordTextBox.Text & "' "
connection.Open()

command.Connection = connection

adaptor.SelectCommand = command
adaptor.Fill(dataset, "0")

Dim count = dataset.Tables(0).Rows.Count

If count > 0 Then
Principal.Show()
Me.Hide()
Else
MsgBox("Login invalido verifique seu login e senha", MsgBoxStyle.Critical)
UsernameTextBox.Clear()
PasswordTextBox.Clear()
End If

End Sub

 

esse codigo esta funcionando porem sem o controle de acesso

bem agora a parte de precisso tenho no meu banco de dados chamado "gerencia.mdf" a tabela "acesso" com os campos (id, nome, login. senha e acesso), gostaria que depois de passar pelo login e senha foce verificado o acesso e depois redirecionado para um form MDI com o nome principal.vb que contem os menus. Abaixo segue o exemplo da pesquisa

 

se o usuario tiver o acesso como "A" abre o form Principal.vb com os seguintes menus abilitados

 

AtivaçãoToolStripMenuItem = true

CadastroToolStripMenuItem = true

ConsultaToolStripMenuItem = true

AgendaToolStripMenuItem = true

 

 

" B" abre o form Principal.vb com os seguintes menus abilitados

AtivaçãoToolStripMenuItem = true

CadastroToolStripMenuItem = False

ConsultaToolStripMenuItem = true

AgendaToolStripMenuItem = true

 

 

 

"C" abre o form Principal.vb com os seguintes menus abilitados

AtivaçãoDeEquipamentoToolStripMenuItem = false

AtivaçãoDePlacaToolStripMenuItem = false

AuteraçãoDeNomeToolStripMenuItem = false

ConsultaToolStripMenuItem = true

AgendaToolStripMenuItem = false

 

 

desculpem se fui muito extenso na minha pergunta mas como disse sou novo por aqui

 

desde já eu agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem nessa parte dos ifs pois não sei bem onde colocalo no codigo, pois ainda sou meio cru na linguagem de programação para esse tipo de acesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como eu faria

 

criaria uma classe CUsuario (o 'C' do inicio é um padrãozinho que eu adoto),

 

colocaria uma propriedade Usuario no form Principal

 

essa classe teria uma propriedade acesso, que define o perfil e colocaria o no if assim

 



if usuario.acesso = "A" THEN 
AtivaçãoToolStripMenuItem = true
CadastroToolStripMenuItem = true
ConsultaToolStripMenuItem = true
AgendaToolStripMenuItem = true
END IF


if usuario.acesso = "B" THEN 
AtivaçãoToolStripMenuItem = true
CadastroToolStripMenuItem = False
ConsultaToolStripMenuItem = true
AgendaToolStripMenuItem = true
END IF


if usuario.acesso = "C" THEN 
AtivaçãoDeEquipamentoToolStripMenuItem = false
AtivaçãoDePlacaToolStripMenuItem = false
AuteraçãoDeNomeToolStripMenuItem = false
ConsultaToolStripMenuItem = true
AgendaToolStripMenuItem = false
END IF

 

só tome cuidado com essa questão do perfil, pois isso normalmente cresce e se perde o controle de forma fácil...

 

aconselho-te perder (na verdade ganhar se olhar a longo prazo) um tempo e deixar isso funcionando via banco de dados, pois caso um novo menu entre, você vair ter que alterar todos os if's entendeu ???

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.