PERMISSOES DE ACESSO
galera...
bom dia!!!
A muito tempo que procuro uma ajuda ou exemplo de controle de acesso para usuarios... estou usando sql..
gostaria de fazer da seguinte forma:
no listbox - carregar os nomes dos usuarios - tabela usuarios - como carregar apenas os nomes da tabela
no checkboxlist - carregar as empresas cadastradas no sistema - tabela empresa - como carregar apena o nome da empresa
no treeview - carregar os modulos: cadastros (incluir,alterar,excluir,imprimir) ,consultas, relatórios(visualizar,imprimir), entre outras opções - devo criar quais tabelas (modulos e permissoes?) -
no cadastro do usuario tambem selecionar o perfil
perfil adminstrador, usuario, entre outros
e ao selecionar o perfil ja vir pré definido os acessos, podendo ser alterado manualmente pelo administrador
em anexo a imagem do form de como gostaria que fosse
tambem seleciono a empresa, pois tem usuarios que não podem acessar dados de uma determinada empresa (concorrencia entre usuarios, rsrs)
alguem tem algum exemplo proximo ou ideia de como fazer isto?
bom dia!!!
A muito tempo que procuro uma ajuda ou exemplo de controle de acesso para usuarios... estou usando sql..
gostaria de fazer da seguinte forma:
no listbox - carregar os nomes dos usuarios - tabela usuarios - como carregar apenas os nomes da tabela
no checkboxlist - carregar as empresas cadastradas no sistema - tabela empresa - como carregar apena o nome da empresa
no treeview - carregar os modulos: cadastros (incluir,alterar,excluir,imprimir) ,consultas, relatórios(visualizar,imprimir), entre outras opções - devo criar quais tabelas (modulos e permissoes?) -
no cadastro do usuario tambem selecionar o perfil
perfil adminstrador, usuario, entre outros
e ao selecionar o perfil ja vir pré definido os acessos, podendo ser alterado manualmente pelo administrador
em anexo a imagem do form de como gostaria que fosse
tambem seleciono a empresa, pois tem usuarios que não podem acessar dados de uma determinada empresa (concorrencia entre usuarios, rsrs)
alguem tem algum exemplo proximo ou ideia de como fazer isto?
Cara, para permissao de acesso eu utilizo muito os números, desta forma:
1 - Administrador (Acesso total)
2 - Gerentes, etc... (Acesso moderado)
3 - Usuário (Acesso restrito)
Então, todas as tabelas, inclusive nos dados do funcionário, terá um campo, chamado [Ô]permissoes[Ô], por exemplo, que conterá o nº relacionado ao que o usuário é.
assim, o programa poderá carregar somente as tabelas cujos campos [Ô]permissoes[Ô] sejam iquais à permissão do usuário.
Para preencher o lstUsuario, você pode fazer assim (Vou utilizar ADO como exemplo e sua idéia de ativo, sendo 1 para ativo e 0 (zero) para não-ativo):
Claro que isto é um exemplo de como você pode usar estes comandos.
Espero ter ajudado.
1 - Administrador (Acesso total)
2 - Gerentes, etc... (Acesso moderado)
3 - Usuário (Acesso restrito)
Então, todas as tabelas, inclusive nos dados do funcionário, terá um campo, chamado [Ô]permissoes[Ô], por exemplo, que conterá o nº relacionado ao que o usuário é.
assim, o programa poderá carregar somente as tabelas cujos campos [Ô]permissoes[Ô] sejam iquais à permissão do usuário.
Para preencher o lstUsuario, você pode fazer assim (Vou utilizar ADO como exemplo e sua idéia de ativo, sendo 1 para ativo e 0 (zero) para não-ativo):
[txt-color=#0000f0]Dim[/txt-color] Conexao [txt-color=#0000f0]As New [/txt-color]ADODB.Connection, RecSet [txt-color=#0000f0]As[/txt-color] RecordSet
[txt-color=#0000f0]With[/txt-color] Conexao
.Provider = [txt-color=#e80000][Ô]Microsoft.Jet.OLEDB.4.0[Ô][/txt-color]
.ConnectionString =[txt-color=#e80000] [Ô]Caminho_Do_Banco_de_Dados.mdb[Ô][/txt-color]
.Open()
[txt-color=#0000f0]End With[/txt-color]
RecSet = Conexao.Execute([txt-color=#e80000][Ô]SELECT * FROM tblFuncionarios WHERE ativo=1[Ô][/txt-color])
[txt-color=#0000f0]While Not[/txt-color] RecSet.EOF
lstUsuario.Items.Add(RecSet([txt-color=#e80000][Ô]funcionario[Ô][/txt-color]).Value.ToString)
RecSet.MoveNext()
[txt-color=#0000f0]End While[/txt-color]
RecSet.Close()
Conexao.Close()
Claro que isto é um exemplo de como você pode usar estes comandos.
Espero ter ajudado.
então...
carregar os dados no listview e no checkboxlist eu faço .... o meu maior problema é que não sei como carregar o treeview e quais tabelas devo criar para ter as permissões...
ACHO QUE devo criar as tabelas:
modulos, - conter os formularios do sistema
permissoes - conter as opções do formulario (incluir, alterar,excluir...)
perfil - conter se a pessoa é adm, usuario...
usuarios - conter os dados do usuario e se é ativo ou não
o perfil em si é apenas para distinguir ou melhor facilitar o cadastro de permissoes: exemplo
se adm tem acesso a tudo,
usuario apenas algumas opções habilitadas mas podendo ser adicinado ou excluido as opções no treeview
carregar os dados no listview e no checkboxlist eu faço .... o meu maior problema é que não sei como carregar o treeview e quais tabelas devo criar para ter as permissões...
ACHO QUE devo criar as tabelas:
modulos, - conter os formularios do sistema
permissoes - conter as opções do formulario (incluir, alterar,excluir...)
perfil - conter se a pessoa é adm, usuario...
usuarios - conter os dados do usuario e se é ativo ou não
o perfil em si é apenas para distinguir ou melhor facilitar o cadastro de permissoes: exemplo
se adm tem acesso a tudo,
usuario apenas algumas opções habilitadas mas podendo ser adicinado ou excluido as opções no treeview
A melhor solução pro seu caso é o Membership Provider
como faço para carregar os dados no treeview
tenho 2 tabelas
rotinas e permissoes
tabela rotina: campos
id_rotina
rotina
desc_rotina
tabela permissões: campos
id_permissao
id_rotina
incluir - sim/não
alterar - sim/não
excluir - sim/não
gostaria de fazer o nó princial com a rotina e sub no com as permissoes
grato
tenho 2 tabelas
rotinas e permissoes
tabela rotina: campos
id_rotina
rotina
desc_rotina
tabela permissões: campos
id_permissao
id_rotina
incluir - sim/não
alterar - sim/não
excluir - sim/não
gostaria de fazer o nó princial com a rotina e sub no com as permissoes
grato
Tópico encerrado , respostas não são mais permitidas