Array
(
)

Nivel de Acesso

Fernando_ramos
   - 02 mar 2006

Amigos,

Boa tarde.

Possuo um sistema que por sua vez possui um menu do tipo Mainmenu.
Poém existem itens que podem ser acessados por alguns usuários e por outros não.

Álguém tem alguma sugestão de como eu poderia implementar um nivel de acesso, habilitando os itens para quem pode e desabilitando para quem não pode?

obrigado!


Oscar Candido
   - 03 mar 2006

Basicamente o que vc precisa fazer é criar uma tabela aonde vc possa armazenar as permissões dos usuários (ou grupos de usuários), e cada vez que um usuário fazer login buscar nessa tabela as permissões para ele habilitando ou desabilitando os itens do menu de acordo com as permissões


Fernando_ramos
   - 03 mar 2006

no caso vc sujere por exemplo eu criar uma tabela, onde eu possa vir a criar grupos...por exemplo...grupo administradores e usuarios, e ao logar no sistema eu faço uma verificação de qual grupo o usuário pertence e desabilito/habilito os botões!

seria isso?


Paullsoftware
   - 03 mar 2006


Citação:
no caso vc sujere por exemplo eu criar uma tabela, onde eu possa vir a criar grupos...por exemplo...grupo administradores e usuarios, e ao logar no sistema eu faço uma verificação de qual grupo o usuário pertence e desabilito/habilito os botões!

seria isso?


Correto!

basicamente eu uso três tabelas para fazer isso!
uma chamda USUÁRIOS,
outra chamada NÍVEIS
e outr chamda PERMISSOES
defino as permissões para cada nivel e na hora de cadastrar os usuários seleiono o nivel para o qual ele fará parte, nada hora de fazer o login faço um busca na tabela de niveis para selecionar suas permissões..
:wink:


Firekiller_am
   - 03 mar 2006

ola amigo se vc não quiser ter muito trabalho baixe o UserControl2.18a e um componente opensource e muito bom por sinal ele faz todo o controle de usuarios, menus, permissoes e perfil...

muito bom mesmo e melhor sem muitas linhas de codigo na verdade quase nada...

abraços.


Fernando_ramos
   - 03 mar 2006

Amigo,

até pensei em usar componentes. mas to tentando implementar uma solução para o meu caso, em ultimo caso terei q usar mesmo compoentes. obrigado pela dica.

Amigo PaullSoftware,

vc poderia detalhar o modo que vc utiliza. Por que na verdade inicialmente será para o meu menu, mas futuramente terei acessos diferenciados a formularios, botões, etc..etc..

abraços!


Edilcimar
   - 04 mar 2006

eu uso uma tabela, onde tenho N campos de acordo com a quantidade de itens no menu, aí quando cadastro um usuário, uso um checkbox onde coloco o nome de cada item do menu e marco aqueles onde o usuário pode entrar, ao clicar no menu, checo se aquele determinado usuário pode ou não entrar naquele menu


Fernando_ramos
   - 04 mar 2006

certo....

no caso vc criou uma tabela com um campo para cada item do menu??

mas se no meu caso tiver 1000 itens no menu? será uma ideia boa??

nao quero questionar seu modo de trabalho...é que preciso de sujestões...para adptar ao meu caso!!

abraços!


Edilcimar
   - 04 mar 2006

o dia que vc tiver um programa com um menu contendo 1000 itens por favor me amostre que eu fiquei curioso, no máximo vc vai ter são uns 100 itens no menu (entre 50 e 100 é normal), mas o meu princípio é este mesmo, um campo para cada item do menu, mas se quiser pode colocar um item por menu sem levar em conta os sub-menus, que seriam tratados todos como uma coisa só


Martins
   - 04 mar 2006


Citação:
o dia que vc tiver um programa com um menu contendo 1000 itens por favor me amostre que eu fiquei curioso, no máximo vc vai ter são uns 100 itens no menu (entre 50 e 100 é normal), mas o meu princípio é este mesmo, um campo para cada item do menu, mas se quiser pode colocar um item por menu sem levar em conta os sub-menus, que seriam tratados todos como uma coisa só



Para quem não quer usar componentes é isso aí mesmo Edilcimar, e quanto a quantidade de itens do menu, 1000 itens, :shock: , queria ver isso tb.

Existem programadores q criam campos string e colocam neles:

#Código

TTTFFFFTTTTFFFFTFTFTFTTTTFT
Só q vc tem mais trrabalho para checar se as permissões são false ou true.

boa sorte!!


Firekiller_am
   - 04 mar 2006

amigo vc tbm pode usar treeview... ou mesmo o componente que citei acima por que se tem tanto menu como vc diz ter.... vai dar um trabalhao fazer isso em tabela cada opção do menu...


Fernando_ramos
   - 04 mar 2006

amigos.

não quero que este tópico vire polemica!! eu nao disse ter 1000 itens em um menu! eu disse...CASO...POSSIVELMENTE....QUEM SABE...TALVEZ....

eu apenas gostaria de saber a melhor solução....realmente tenho poucos itens....poucos mesmo....

agradeço a ajuda de VCS!!! realmente clareou minhas ideias!!


obrigado!


Carlos Rausch
   - 04 mar 2006

Eu faço da seguinte maneira: criei uma tabela com 2 campos, endereço e usuarios , crieu uma outra onde cadastro o usuário e a senha:
No [endereço] eu gravo o nome dos itens do menu e no [usuário] eu gravo o código dos usuários terminando sempre com um caracter qualquer, eu uso o * .

Ex:

Endereco ´A0101´ usuario 01*02*
Endereco ´A0102´ usuario 02*
Endereco ´A0103´ usuario 01*03*

E assim por diante, antes de chamar o item de menu eu verifico se o endereço está cadastrado, se estiver o sistema pede a senha , e verifica se o código desse usuário está ou não com permissão. E trato a informação....