VERIFICAR PERMISSOES DE UM PERFIL NA TABELA
boa tarde
eu tenho as seguintes tabelas:
USUÃRIO : ID_USUÃRIO, SENHA, FK(ID_PERFIL)
PERFIL: ID_PERFIL, DESCRICAO
MODULO: ID_MODULO, DESCRIÇÃO (CADASTRO DE CLIENTE) , NOME_BOTAO(BTN_CADASTRO_CLIENTE)
PERMISSÕES: FK(ID_PERFIL) , FK(ID_MODULO) , DIREITO_ACESSO (SIM/NÃO)
gostaria de saber como pegar o usuário logado, verificar o perfil dele e varrer a tabela permissões para saber quais botões ele terá acesso????????
por favor me ajudem
obrigado
eu tenho as seguintes tabelas:
USUÃRIO : ID_USUÃRIO, SENHA, FK(ID_PERFIL)
PERFIL: ID_PERFIL, DESCRICAO
MODULO: ID_MODULO, DESCRIÇÃO (CADASTRO DE CLIENTE) , NOME_BOTAO(BTN_CADASTRO_CLIENTE)
PERMISSÕES: FK(ID_PERFIL) , FK(ID_MODULO) , DIREITO_ACESSO (SIM/NÃO)
gostaria de saber como pegar o usuário logado, verificar o perfil dele e varrer a tabela permissões para saber quais botões ele terá acesso????????
por favor me ajudem
obrigado
Olá BORTHOLETTO,
Cara qual banco de dados você utiliza?
Cara qual banco de dados você utiliza?
A query abaixo traz todas os modulos que o usuário logado tem acesso
select id_modulo from permissão
where permissão.Id_perfil = (select id_perfil from usuário where id_usuário = usuário_logado)
and direito_acesso = true
select id_modulo from permissão
where permissão.Id_perfil = (select id_perfil from usuário where id_usuário = usuário_logado)
and direito_acesso = true
Não seria mais interessante trabalhar com um TREEVIEW / LISTVIEW para carregar as operações?
essa query fou muito util......mas tem mias uma duvida....com esse select retornara varios registros, como salvo esses registros retornados? e depois varrer esses registros e comparar com os botões que vou dar acesso para esse usuario e habilitar os mesmos???
exemplo: esse select que vc passou retorna o codigo 1001 que corresponde o botão cadastrar cliente....1002 que corresponde o botão cadastrar fornecedor.
então quero salvar esses 2 registros que seria em uma matiriz??? e depois verificar se é 1001 eu faço btnCliente.enable=true e 1002 btnForncedor.enable= true
valeu pela ajuda
exemplo: esse select que vc passou retorna o codigo 1001 que corresponde o botão cadastrar cliente....1002 que corresponde o botão cadastrar fornecedor.
então quero salvar esses 2 registros que seria em uma matiriz??? e depois verificar se é 1001 eu faço btnCliente.enable=true e 1002 btnForncedor.enable= true
valeu pela ajuda
Citação::
A query abaixo traz todas os modulos que o usuário logado tem acesso
select id_modulo from permissão
where permissão.Id_perfil = (select id_perfil from usuário where id_usuário = usuário_logado)
and direito_acesso = true
Eduardo, mas os valores que serão retornados pelo select vão ficar salvos onde????
valeuuuuuuuuuu
valeuuuuuuuuuu
Voce que sabe..
Um ArrayList,Vetores,fica a seu criterios,basta definir um numero de posiçoes...
cria o vetor,e vai inserindo atravez do FOR
Um ArrayList,Vetores,fica a seu criterios,basta definir um numero de posiçoes...
cria o vetor,e vai inserindo atravez do FOR
Pra voce criar um Recordset segue este codigo:
Dim cComando As New SqlCommand([Ô]select * from Tabela[Ô], CON)
Dim I As Integer
Dim oAdapt As New SqlDataAdapter(cComando)
Dim oDados As New DataTable([Ô]TABELA[Ô])
Try
oAdapt.Fill(oDados)
For I = 0 To (oDados.Rows.Count - 1)
[ô]Cria um vetor com as posiçoes de quantidade de itens do datatable
Dim Vetor(oDados.Rows.Count) As String
[ô]feita uma comparação com o perfil de usuario que voce deseja
[ô]ira percorrer linha por linha conforme seus criterios,dentro dos parametros informados no select
[ô]guarda no vetor os valores da tabela
Vetor(i) = oDados.Rows(i)([Ô]CAMPO_TAL[Ô])
[ô]Mostra oque esta gravando..
[ô]Debug.Print(vetor(i))
End If
Next
Catch ex as exception
Msgbox(err.description)
finally
con.close()
End Try
valeu doidão. na hora do almoço vou testar e te falo se deu certo
doidão deu certo, uma ultima pergunta....desculpa atrapalhar ai....
no vetor ele ta trazendo os codigo 1001 que corresponde o botão cadastrar cliente na tabela e 1002 que corresponde botão cadastrar fornecedor na tabela.
como que eu pego esse valor 1001 e 1002 do FOR e faço a comparação....se 1001 btn.cliente.enable=true e 1002 btn.fornecedor.enable=true
entendeu????
valeuuuuu
no vetor ele ta trazendo os codigo 1001 que corresponde o botão cadastrar cliente na tabela e 1002 que corresponde botão cadastrar fornecedor na tabela.
como que eu pego esse valor 1001 e 1002 do FOR e faço a comparação....se 1001 btn.cliente.enable=true e 1002 btn.fornecedor.enable=true
entendeu????
valeuuuuu
Que isso brown,pode pergunta ae ;)
como ta sendo o seu select?
como ta sendo o seu select?
Tópico encerrado , respostas não são mais permitidas