Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
wilianbenin Novato

Registrado: Terça-Feira, 23 de Março de 2010 Mensagens: 48
|
Enviada: Qui Out 14, 2010 8:36 pm Assunto: Login com permissão [Resolvido] |
|
|
Boa noite a todos, estou fazendo uma tela de login com usuario e senha, e tenho uma tabela "Usuario" onde são salvos Usuario, Senha e Permissão. Eu queria fazer com que de acordo com a permissão o usuario pudesse ter acesso ou não a certas opções em um menu. O meu banco é o access e as minhas permissões são salvas por exemplo : 'Administrador', 'Aluno'. Tentei fazer de algumas maneiras mas nenhuma deu certo, acho que tá faltando algum detalhe.
Desde já agradeço pela ajuda.
Editado pela última vez por wilianbenin em Dom Out 17, 2010 11:00 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
oneshotbr Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Qui Out 14, 2010 9:48 pm Assunto: |
|
|
Eu faço assim.
Código: | if frmacesso.ibqueryloginUSU_NIVEL.Value = 1 then
begin
frmprincipal.Usuario1.Enabled := false;
end;
|
No seu caso você trocaria o 1 pelo nome Aluno ou Administrador no caso ai eu desativei o botão que chama o form. _________________ AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64. |
|
Voltar ao Topo |
|
 |
wilianbenin Novato

Registrado: Terça-Feira, 23 de Março de 2010 Mensagens: 48
|
Enviada: Qui Out 14, 2010 10:20 pm Assunto: |
|
|
Eu tentei dessa maneira, só que o meu primeiro usuário cadastrado tem com permissão 'Administrador'. Ai eu entro com outro login só que dessa forma ele continua pegando a permissão de 'Administrador', sendo que esse outro login não tem essa permissão. No caso eu acho que ele não está buscando a permissão de acordo com a do usuário e sim só está buscando a permissão do primeiro usuário. |
|
Voltar ao Topo |
|
 |
oneshotbr Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Sex Out 15, 2010 7:49 am Assunto: |
|
|
Coloca aqui seu código deixa eu ver como está. _________________ AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64. |
|
Voltar ao Topo |
|
 |
faccruz Colaborador

Registrado: Terça-Feira, 20 de Julho de 2010 Mensagens: 1563
|
Enviada: Sex Out 15, 2010 8:58 am Assunto: Re: Login com permissão |
|
|
wilianbenin escreveu: | Boa noite a todos, estou fazendo uma tela de login com usuario e senha, e tenho uma tabela "Usuario" onde são salvos Usuario, Senha e Permissão. Eu queria fazer com que de acordo com a permissão o usuario pudesse ter acesso ou não a certas opções em um menu. O meu banco é o access e as minhas permissões são salvas por exemplo : 'Administrador', 'Aluno'. Tentei fazer de algumas maneiras mas nenhuma deu certo, acho que tá faltando algum detalhe.
Desde já agradeço pela ajuda. |
Existem componentes prontos para isso, basta colocar no form e acertar alguns eventos.
Um deles é o UserControl, é free _________________ Facc System - Sistemas para Computador |
|
Voltar ao Topo |
|
 |
BrunoMoreyra Colaborador

Registrado: Quinta-Feira, 26 de Novembro de 2009 Mensagens: 1398 Localização: Goiânia - GO / Brasília - DF
|
Enviada: Sex Out 15, 2010 9:19 am Assunto: |
|
|
Bom dia,
você terá que criar um método para alimentar as propriedades do MainMenu, e após a tela de login executar esse método.
Ou adicionar no Activate da tela, para remontar o menu, e habilitar as opções do menu respectiva a cada Perfil.
wilianbenin escreveu: | Eu tentei dessa maneira, só que o meu primeiro usuário cadastrado tem com permissão 'Administrador'. Ai eu entro com outro login só que dessa forma ele continua pegando a permissão de 'Administrador', sendo que esse outro login não tem essa permissão. No caso eu acho que ele não está buscando a permissão de acordo com a do usuário e sim só está buscando a permissão do primeiro usuário. |
_________________ Atencisamente,
Bruno Moreira Batista.
http://www.kawek.com.br/BrunoBatista
Skype: Bruno_Batysta |
|
Voltar ao Topo |
|
 |
wilianbenin Novato

Registrado: Terça-Feira, 23 de Março de 2010 Mensagens: 48
|
Enviada: Sex Out 15, 2010 9:41 am Assunto: |
|
|
Bom dia,
Essa programação está no formulário de login.
if dm.QryUsuario.FieldByName('Permissao').Value <> 'Administrador' Then
begin
FR_MenuEstoque.Usurio1.Visible := False;
end;
Vou dar uma olhada nesse componente também. E o problema não é que eu não esteja conseguindo desabilitar os componentes e sim o fato de não estar conseguindo passar os valores da permissão de cada usuário. |
|
Voltar ao Topo |
|
 |
BrunoMoreyra Colaborador

Registrado: Quinta-Feira, 26 de Novembro de 2009 Mensagens: 1398 Localização: Goiânia - GO / Brasília - DF
|
Enviada: Sex Out 15, 2010 9:44 am Assunto: |
|
|
Bom dia,
terá que fazer algo do tipo.
Código: |
FR_MenuEstoque.Usurio1.Visible := dm.QryUsuario.FieldByName('Permissao').Value = 'Administrador';
FR_MenuEstoque.Teste.Visible := (dm.QryUsuario.FieldByName('Permissao').Value = 'Administrador') or
(dm.QryUsuario.FieldByName('Permissao').Value = 'Usuario');
...
|
wilianbenin escreveu: | Bom dia,
Essa programação está no formulário de login.
if dm.QryUsuario.FieldByName('Permissao').Value <> 'Administrador' Then
begin
FR_MenuEstoque.Usurio1.Visible := False;
end;
Vou dar uma olhada nesse componente também. E o problema não é que eu não esteja conseguindo desabilitar os componentes e sim o fato de não estar conseguindo passar os valores da permissão de cada usuário. |
_________________ Atencisamente,
Bruno Moreira Batista.
http://www.kawek.com.br/BrunoBatista
Skype: Bruno_Batysta |
|
Voltar ao Topo |
|
 |
wilianbenin Novato

Registrado: Terça-Feira, 23 de Março de 2010 Mensagens: 48
|
Enviada: Sex Out 15, 2010 9:54 am Assunto: |
|
|
sim sim, essa idéia é parecida com a que eu postei ali. O problema é que mesmo que eu entre com um usuario que não tenha permissão de 'Administrador', ele carrega o componente do menu. Eu acredito que o problema esteja na hora do 'DM.QryUsuario.Fieldbyname('Permissao'). Pelo o que eu consegui ver, ele carrega a permissao sempre como 'Administrador' e isso acontece porque o meu primeiro usuário tem a permissão 'Administrador'. |
|
Voltar ao Topo |
|
 |
wilianbenin Novato

Registrado: Terça-Feira, 23 de Março de 2010 Mensagens: 48
|
Enviada: Dom Out 17, 2010 10:58 am Assunto: |
|
|
Eu consegui resolver o problema. Eu fiz uma procedure que tem um select e passei o resultado desse select para uma variável. E depois "chamei" a variavel dentro do botão "Entrar".
procedure TFR_Login.VerificaPermissao;
begin
With DM.QryUsuario do
begin
SQL.Clear;
SQL.Add('Select Permissao_Usuario');
SQL.Add('From Usuario');
SQL.Add('Where Login_Usuario = :Log');
SQL.Add('and Senha_Usuario = :Sen');
Parameters.ParamValues['Log'] := Txt_Usuario.Text;
Parameters.ParamValues['Sen'] := Txt_Senha.Text;
Open;
bOpcao := DM.QryUsuario.fieldbyname('Permissao_Usuario').AsString;
end;
If bOpcao <> 'Administrador' Then
begin
FR_MenuEstoque.Usurio1.Visible := False;
end;
end; |
|
Voltar ao Topo |
|
 |
E5150 Aprendiz

Registrado: Terça-Feira, 17 de Agosto de 2010 Mensagens: 181
|
Enviada: Seg Out 18, 2010 8:58 am Assunto: |
|
|
você fez menus diferentes para diferentes perfil's de usuário ou alterou as propriedades de um unico menu para diferentes perfil's de usuários? |
|
Voltar ao Topo |
|
 |
wilianbenin Novato

Registrado: Terça-Feira, 23 de Março de 2010 Mensagens: 48
|
Enviada: Seg Out 18, 2010 9:11 am Assunto: |
|
|
eu fiz um único menu, para diferentes tipos de usuários e passei algumas propriedades como falsas ou verdadeiras de acordo com a permissão que esse usuário possuia. |
|
Voltar ao Topo |
|
 |
|