AJUDA COM MULTI USUARIOS

SACOFRITO 15/10/2010 00:05:29
#355128
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
LLAIA 15/10/2010 05:43:30
#355130
Resposta escolhida
Sem problemas, cada instância do software é independente, elas não compartilham variáveis globais.
LEOBOCARDI 15/10/2010 07:29:56
#355132
Idem.... Independente cada usuário é um usuário.
SACOFRITO 15/10/2010 08:21:51
#355133
Entao se eu usar uma unica variavel EX: varUsuario
ela irá poder ser usada por todos usuarios que estiverem logados?
SAMUKA 15/10/2010 09:16:24
#355141
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).

MARCELO.TREZE 15/10/2010 11:36:05
#355158
@@@@@@@@ é 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?

SACOFRITO 18/10/2010 13:41:11
#355366
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?
SACOFRITO 19/10/2010 16:03:17
#355483
Alguem?
XXXANGELSXXX 19/10/2010 16:49:08
#355487
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
   
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

LUIZCOMINO 19/10/2010 17:02:45
#355490
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?
SACOFRITO 19/10/2010 22:35:55
#355504
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
Tópico encerrado , respostas não são mais permitidas