VERIFICAR PERMISSOES DE UM PERFIL NA TABELA

BORTHOLETTO 29/10/2011 13:47:33
#388084
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
JIRAIAA 29/10/2011 18:43:48
#388104
Olá BORTHOLETTO,

Cara qual banco de dados você utiliza?
RXGOMES 29/10/2011 18:55:04
#388106
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
TECLA 30/10/2011 01:11:32
#388127
Não seria mais interessante trabalhar com um TREEVIEW / LISTVIEW para carregar as operações?
BORTHOLETTO 30/10/2011 13:24:47
#388132
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




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

BORTHOLETTO 31/10/2011 10:39:41
#388166
Eduardo, mas os valores que serão retornados pelo select vão ficar salvos onde????


valeuuuuuuuuuu
PHOENIX209E 31/10/2011 10:44:36
#388168
Resposta escolhida
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
PHOENIX209E 31/10/2011 11:03:25
#388171
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
BORTHOLETTO 31/10/2011 11:07:09
#388172
valeu doidão. na hora do almoço vou testar e te falo se deu certo
BORTHOLETTO 31/10/2011 13:41:35
#388184
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
PHOENIX209E 31/10/2011 15:11:25
#388199
Que isso brown,pode pergunta ae ;)

como ta sendo o seu select?
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas