AJUDA COM MULTI USUARIOS
Boa noite galera,
Finalmente terminei meu form[ô]zinho de login, consegui cadastrar novos usuarios em um pequeno form de cadastro de Administração do Sistema
Mas agr tenho uma duvida, se o sistema funcionará em rede e vários usuarios iram logar ao msm tempo(entenda-se mais do que UM)
A duvida é a seguinte: Como o form de administração terá checks e options de autorização para determinado usuario poder ou nao executar X ação no sistema(Ex: usuario N nao pode excluir produtos) entao se for marcado nesse usuario esse check ao abrir o form de cadastro de produto irá verificar qual o usuario logado e se for usuario N deixa enabled = false o botao excluir
Pensei em usar variavel global, acho que o mais sensato e simples.
Mas se um usuario se loga no sistema as 8: 10 e o outro as 8 : 11 a variavel nao seria editada e atribuido uma string correspondente ao ultimo usuario que foi logado?
Como eu poderia resolver isso?
Abraços
Finalmente terminei meu form[ô]zinho de login, consegui cadastrar novos usuarios em um pequeno form de cadastro de Administração do Sistema
Mas agr tenho uma duvida, se o sistema funcionará em rede e vários usuarios iram logar ao msm tempo(entenda-se mais do que UM)
A duvida é a seguinte: Como o form de administração terá checks e options de autorização para determinado usuario poder ou nao executar X ação no sistema(Ex: usuario N nao pode excluir produtos) entao se for marcado nesse usuario esse check ao abrir o form de cadastro de produto irá verificar qual o usuario logado e se for usuario N deixa enabled = false o botao excluir
Pensei em usar variavel global, acho que o mais sensato e simples.
Mas se um usuario se loga no sistema as 8: 10 e o outro as 8 : 11 a variavel nao seria editada e atribuido uma string correspondente ao ultimo usuario que foi logado?
Como eu poderia resolver isso?
Abraços
Sem problemas, cada instância do software é independente, elas não compartilham variáveis globais.
Idem.... Independente cada usuário é um usuário.
Entao se eu usar uma unica variavel EX: varUsuario
ela irá poder ser usada por todos usuarios que estiverem logados?
ela irá poder ser usada por todos usuarios que estiverem logados?
Vamos por partes: existe 2 jeitos de logar.
1º - O usuário abre uma nova instancia do programa (as variaveis do programa, são independentes).
2º - O usuario loga na mesma instancia, como acontece com o windows (assim, vc precisa recarregar as variaveis que guardam informações de cada usuario).
1º - O usuário abre uma nova instancia do programa (as variaveis do programa, são independentes).
2º - O usuario loga na mesma instancia, como acontece com o windows (assim, vc precisa recarregar as variaveis que guardam informações de cada usuario).
@@@@@@@@ é a cabeça da gente gira as vezes, com certos problemas de lógica.
bom primeiro como vc administra o sistema, um banco de dados em um servidor e o um programa em cada máquina?
bom primeiro como vc administra o sistema, um banco de dados em um servidor e o um programa em cada máquina?
Boa tarde Marcelo.
Na vdd é meu primeiro sistema a parte(fora da empresa onde trabalho)
Estou montando um form de Administração semelhante ao da empresa que eu trabalho.
São cadastrados usuarios e gravados em um banco de dados.
A idéia seria usar um [Ô]findfirst[Ô] ao logar, e se for true, pega esse registro no banco de dados e vai verificando as permissoes e nao permissoes que esse usuario tem conforme cadastrado por um Admin no form ADM e bloqueando.. coisa bem simples
E o sistema senao me engano serão usados em 3 máquinas diferntes e o servidor irá trabalhar no sistema também.
Ou seja 3 usuarios logados ao mesmo tempo...uma única variavel global para verificar o login, é suficiente?
Na vdd é meu primeiro sistema a parte(fora da empresa onde trabalho)
Estou montando um form de Administração semelhante ao da empresa que eu trabalho.
São cadastrados usuarios e gravados em um banco de dados.
A idéia seria usar um [Ô]findfirst[Ô] ao logar, e se for true, pega esse registro no banco de dados e vai verificando as permissoes e nao permissoes que esse usuario tem conforme cadastrado por um Admin no form ADM e bloqueando.. coisa bem simples
E o sistema senao me engano serão usados em 3 máquinas diferntes e o servidor irá trabalhar no sistema também.
Ou seja 3 usuarios logados ao mesmo tempo...uma única variavel global para verificar o login, é suficiente?
Alguem?
Não, veja so, eu aconselharia a fazer o seguinte.. crie 2 tabelas
tabela1 = USUARIOS , onde que vai estar gravado os dados do usuario como por exemplo, nome, endereco, cpf, sei la.. o que vc quiser, crie um campo com nome por exemplo IDCAMPO2 para receber a informação de qual PERFIL é o acesso
tabela2 = CONFIGURACAOACESSO, onde que vai estar gravado os dados de cada rotina, campo como booleano, ou seja, true e false, entao se estiver marcado la como true, voce verifica os acessos como true e habilita o que tiver que habilitar.. vou fazer uma previa para vc..
sub VerificaAcessos
Set
tabela1 = USUARIOS , onde que vai estar gravado os dados do usuario como por exemplo, nome, endereco, cpf, sei la.. o que vc quiser, crie um campo com nome por exemplo IDCAMPO2 para receber a informação de qual PERFIL é o acesso
tabela2 = CONFIGURACAOACESSO, onde que vai estar gravado os dados de cada rotina, campo como booleano, ou seja, true e false, entao se estiver marcado la como true, voce verifica os acessos como true e habilita o que tiver que habilitar.. vou fazer uma previa para vc..
sub VerificaAcessos
Set
RS = DB.OpenRecordset([Ô]SELECT * from UserPermissaoPerfil where CodigoPerfil=[ô][Ô] & txtPerfil.Text & [Ô][ô][Ô])
txtPerfil.Text = [Ô][Ô] & RS!CodigoPerfil
With frmPrimeira
If RS!CadClientes = 0 Then .mnuCadastroCli.Visible = False
end with
Olá , como nosso amigo SAMUKA disse[Ô]O usuário abre uma nova instancia do programa (as variaveis do programa, são independentes). [Ô], você pode criar apenas uma variável [Ô]varUsuario[Ô], eu acho que sua duvida é se apenas uma variável ira conseguir guardar as informações de 3 maquinas, a resposta é sim , pode criar apenas 1 variável que em cada instância do programa que for aberto ela será unica para ela.
ex: Usurário 1 abre o programa então varUsuario guarda o que vc quiser (varUsuario será apenas do usuario 1)
Usuário 2 abre o programa então varUsuario guarda o que vc quiser (varUsuario será apenas do usuario 2)
deu pra entender um pouco melhor?
ex: Usurário 1 abre o programa então varUsuario guarda o que vc quiser (varUsuario será apenas do usuario 1)
Usuário 2 abre o programa então varUsuario guarda o que vc quiser (varUsuario será apenas do usuario 2)
deu pra entender um pouco melhor?
Deu pra entender, na vdd era isso que eu tinha em mente o tempo todo, mas queria confirmar com os amigos mais experientes,
Obrigado galera,
Agr nem sei à quem eu pontuo hehehe vo fechar o olho :P
Abraços
Obrigado galera,
Agr nem sei à quem eu pontuo hehehe vo fechar o olho :P
Abraços
Tópico encerrado , respostas não são mais permitidas