privilégio para usuários

Delphi

10/03/2004

gostaria de criar uma rotina onde posso dar privilégio para usuários, do tipo habilitar funcoes do meu sistema, dar ou nao acesso a todas as ferramentas do meu sistema...
para isso eu criaria um Form, onde eu como operador do sistema poderia habilitar ou desabilitar funcoes e ferramentas do sistemas para o usuario desejado...
Obs. ja pesquisei no forum mas nao achei nada que satisfizesse minha duvida...
Valleu !!:wink:


Mahdak

Mahdak

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

10/03/2004

Aqui no clube tem um cara que fez um programa com fontes sobre isto.....

pesquisa ai...


GOSTEI 0
Pedro Bugim

Pedro Bugim

10/03/2004

Primeiramente, seria interessante vc criar um formulário de login, aonde os usuários fariam a autenticação deles mesmos ao entrar no sistema.
Com isso, vc pode criar uma variável aonde armazenará os dados do usuário (nome e senha por exemplo).
Nas ferramentas em que quiser impor restrições, basta criar uma função que seja ativada antes da ferramenta em questão, a qual deverá retornar ´true´ caso o usuário tenha acesso ou ´false´, caso não tenha.
Entendeu?! Se não, diz que eu explico melhor.
Abraços,


GOSTEI 0
Bampavao

Bampavao

10/03/2004

Entra em

http://usercontrol.sourceforge.net/

Tem um componente super loko q faz isso q vc quer. Eu mesmo jah usei e recomendo. :wink:


GOSTEI 0
Pedro Bugim

Pedro Bugim

10/03/2004

:D VALEU!!!! :D


GOSTEI 0
Otorquati

Otorquati

10/03/2004

:(

Incrivel!
Como as pessoas querem ajudar aos outros passando informações incompletas, tipo: tem um componente que faz isso, pesquisa aí!
Isso não é uma resposta descente! Não serve para nada!

Sobre o assunto dos privilégio, vc deve criar um form de login, óbvio!
Definir uma váriável no form principal onde vc ira armazenar o nivel de privilégio do usuário.
Quando o usuário se logar atraves do form de login, vc atribui seu nivel de privilégio a variável.
no menu do form principal para cada opção deste vc atribui um valor a propriedade TAG, definindo o nivel exigido para que o usuário tenha acesso a opção.
Ex.
Tag=2, somente usuários com nivel 2 ou mais podem acessar esta opção.
Feito isso vc habilita as opções conforme abaixo:

  if frmLogin.ShowModal=mrOk then
  Begin
    // Define o acesso as opcoes do menu
    for i:= 0 to mnuPrincipal.Items.Count-1 do
    Begin
      if iDireitos < mnuPrincipal.Items[i].Tag then
         mnuPrincipal.Items[i].Visible:=False
      Else
         mnuPrincipal.Items[i].Visible:=True;
      For j:=0 to mnuPrincipal.Items[i].Count-1 do
      if iDireitos < mnuPrincipal.Items[i].Items[j].Tag then
         mnuPrincipal.Items[i].Items[j].Enabled:=False
      Else
         mnuPrincipal.Items[i].Items[j].Enabled:=True;
    End;

    { Ajusta os botões da barra de ferramentas}
    for i:=0 to ComponentCount-1 do
    if Components[i] is TToolButton then
    Begin
      if iDireitos < TToolButton(Components[i]).Tag then
         TToolButton(Components[i]).Visible:=False
      Else
         TToolButton(Components[i]).Visible:=True;
    End;
  End
  Else bFecha:=True;

No meu caso a váriável em questão é iDireitos

Continuo na lutar por informações de real valor!
Espero ter ajudado, continuo a disposição...


GOSTEI 0
Vinicius2k

Vinicius2k

10/03/2004

Excelente resposta otorquati... pena que vc foi extremamente mal educado com os outros colegas...
Quando dizemos para pesquisar é porque temos certeza que já vimos um ou vários tópicos sobre o mesmo assunto aqui no fórum e basta utilizar a ferramenta ´Pesquisar´ para encontrar as respostas de forma rápida e com ´n´ opções sem precisar ficar reescrevendo a bíblia...
T+


GOSTEI 0
Wagner

Wagner

10/03/2004

Desculpe-me,

Vinicius, voce esta esquecendo de um detalhe, eu acredito que a maioria das pessoas que frequenta o forum são iniciantes (como eu), então uma respostas mais detalhada ajuda muito, e a integração e amizade aqui ajuda mais ainda, respostas como: ´ah! eu já vi isso em algum lugar´, ´Ah! eu já passei por isso´, ´Ah! porque você não tenta outra banco ou usa sql no lugar de table´. Isso são respostas vagas que não ajuda quem esta iniciando. Quem sabe mais e quer ajuda, entende que do outro lado esta uma pessoa que sabe menos e quer aprender com o maximo de detalhes possivel, esse não é um fato isolado isso aconteçe muito aqui. Desculpe-me, não quero ferir niguem, sei que todos aqui tem a maior boa vontade em ajudar, mais muitas vezes e melhor olhar um topico e se não tiver a resposta completa que possa realmente ajudar, espere e veja alguem postar uma resposta :( talvez a resposta do nosso amigo tenha sido mais um desabafo, como essa minha, mais acredito que muita gente aqui não fala o que pensa com receio de ser descriminado em algum topico futuro, ´Ah esse cara ai reclamou uma vez das nossas respostas deixa ele ai sem respostas´

Espero que não aconteça comigo sou iniciante e tenho muitas duvidas ainda para tirar :wink:

Um Abraço


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

10/03/2004

Colegas,

Acho que as duas soluções: Pesquisar no fórum e utilizar o UserControl são as mais indicadas. Por que? - No fórum existem muitas respostas detalhadas sobre o assunto como já foi observado; - O UserControl é um componente free de excelente qualidade e aplicabilidade, bem como, o Autor QmD sempre tem nos visitado e auxiliado nossa comunidade, desde a instalação a utilização.
As críticas construtivas (talvez um pouco ásperas) também são válidas, pois devemos buscar nosso crescimento profissional e melhorar nosso relacionamento interpessoal.
No entanto, vale ressaltar que o autor do tópico já havia finalizado o mesmo ao sinalizar que sua dúvida estava sanada (´Valeu´).
Portanto, solicito aos participantes que se mantenham calmos e dentro das normas de uso do fórum, ajudando sem transformar a thread em flames que não agregam valor algum a nossa comunidade.

[b:f29654872c][color=red:f29654872c]Bloqueado pelo Moderador (AZ).[/color:f29654872c][/b:f29654872c]


GOSTEI 0
POSTAR