restringir acesso
04/01/2006
0
bom eu queria fazer minha aplicação em rede. mas seria assim, os funcionários teriam uma senha para cada um, por exemplo, o funcionario1 tem a senha 123, o funcionario2 tem 456, e assim por diante. o problema surge que, o administrador que cria essas senhas e ele pode restringir o acesso, por exemplo, o funcionario2 não pode ver o relatório do dia, cadastrar clientes, enfim, mas pode outras funções. eu pensei em fazer um form com uma checklist com todos os itens, aí o admin dá o nome da senha e seleciona os itens que o funcionario pode entrar. mas não sei certas coisas:
onde será guardada a senha?
outra: eu pensei que quando ele restringe acesso a algumas funções, ele ir tirando do menu, por exemplo, se senha = 456, relatorios.visible := false, onde relatorios é um submenu do mainmenu. mas como eu poderia fazer essa verificação e ele saber que tais menus devem ser apagados dependendo da senha?
preciso de uma luz. alguem poderia me ajudar?
onde será guardada a senha?
outra: eu pensei que quando ele restringe acesso a algumas funções, ele ir tirando do menu, por exemplo, se senha = 456, relatorios.visible := false, onde relatorios é um submenu do mainmenu. mas como eu poderia fazer essa verificação e ele saber que tais menus devem ser apagados dependendo da senha?
preciso de uma luz. alguem poderia me ajudar?
Aspirante
Curtir tópico
+ 0
Responder
Posts
04/01/2006
Caninha51
Eu faço assim.
Tenho uma tabela de menus, onde adiciono o nome de todos os menus do meu sistema e sua descrição. O nome eh o do TMenuItem mesmo.
Tenho outra tabela de acessos com os campos Usuario e Menu.
Ai nela eu associo as permissão de cada usuário.
Pra facilitar eu criei uma telinha onde listo todos os menus de um lado e do outro os usuários, que são criados no próprio banco.
Depois q o usuário se loga no sistema verifico as permissoes dele na tabela de acessos e libero os menus que ele pode acessar.
Criei uma função pra facilitar a consulta...
E dou um loop nos componentes liberando os que ele pode acessar...
Pronto, eu faço assim! :D
Deu pra entender mais ou menos?hehe
vlw
Tenho uma tabela de menus, onde adiciono o nome de todos os menus do meu sistema e sua descrição. O nome eh o do TMenuItem mesmo.
Tenho outra tabela de acessos com os campos Usuario e Menu.
Ai nela eu associo as permissão de cada usuário.
Pra facilitar eu criei uma telinha onde listo todos os menus de um lado e do outro os usuários, que são criados no próprio banco.
Depois q o usuário se loga no sistema verifico as permissoes dele na tabela de acessos e libero os menus que ele pode acessar.
Criei uma função pra facilitar a consulta...
function TfrmPri.Consultar(Instrucao: string): Boolean; begin qryAux.SQL.Clear; qryAux.SQL.Add(Instrucao); qryAux.Open; Result := not qryAux.IsEmpty; end;
E dou um loop nos componentes liberando os que ele pode acessar...
for intI := 0 To ComponentCount - 1 do if Components[intI] is TMenuItem then TMenuItem(Components[intI]).Enabled := Consultar( ´SELECT * FROM ACESSOS WHERE USUARIO = ´ + QuotedStr(UserLogado) + ´ AND MENU = ´ + QuotedStr(Components[intI].Name));
Pronto, eu faço assim! :D
Deu pra entender mais ou menos?hehe
vlw
Responder
Clique aqui para fazer login e interagir na Comunidade :)