VARIAVEL GLOBAL

JAIR2002 23/03/2012 15:05:55
#398095
CAROS COLEGAS,

ESTOU ABRINDO ESTE TÓPICO A FIM DE TIRAR UMA DUVIDA, QUAL A MELHOR FORMA DE FAZER UM VARIÁVEL GLOBAL, SERIA POR SESSION OU OUTRA FORMA, PRECISO CAPTURAR O NOME E ID DA EMPRESA NO MOMENTO EM QUE O USUÁRIO LOGA NO SISTEMA; QUERO MOSTRAR O NOME DA EMPRESA E DO USUÁRIO NA MASTER PAGE PARA QUE O USUÁRIO VISUALIZE EM QUAL EMPRESA ESTAR CONECTADO, BEM COMO CAPTURAR O ID DA EMPRESA NO MOMENTO DO CADASTRO.

PRECISO TAMBéM QUE QUANDO O USUÁRIO DESCONECTAR, OU MESMO FECHAR O SISTEMA A VARIÁVEL SEJA ZERADA.

DAI A PERGUNTA QUAL A MELHOR FORMA DE FAZER ISSO?
ALGUéM TEM ALGUM EXEMPLO?

GRATO,

JAIR


KERPLUNK 23/03/2012 15:11:38
#398096
Resposta escolhida
Bom, em se tratando de login com aplicações web, nada supera o MembershipProvider. O problema é que ele é meio complicado de configurar para um programador não habituado com ele. Então a solução mais simples, é mais ou menos assim:
- Crie uma classe que vai conter os dados do login e da empresa relacionada ao usuário
- Ao fazer o login, preenche uma instância dessa classe com os dados que julgar necessários
- Grave essa variável na Session para poder acessá-la a qualquer momento na aplicação

Ao fechar o browser a variável é automaticamente zerada, mas ele pode efetuar um [Ô]logoff[Ô], nesse caso, basta substituir essa variável na session por um null, liberando espaço para um novo login, até mesmo com outro usuário.

PS: Você já tinha pedido ajuda com isso no outro tópico e eu pedi para criar um novo. A razão disso é que o outro tópico tratava de um assunto diferente(relacionado, mas não a mesma coisa). Criando esse novo tópico, um outro usuário que tiver uma dúvida parecida, pode encontrar o que discutirmos nesse tópico com maior facilidade do que se estivessem os dois assuntos misturados em um único tópico.
JAIR2002 23/03/2012 15:34:26
#398098
KERPLUNK,

CARA OBRIGADO PELAS DICAS, TEM ME AJUDADO MUITO, MAS, COMO JÁ FRISADO ANTERIORMENTE, SOU NOVATO NO ASSUNTO E PRECISO DE UMA AJUDA MAIS ESPECIFICA, SERIA PEDIR MUITO SE MOSTRASSE UM EXEMPLO PRÁTICO.

GRATO,

JAIR
KERPLUNK 23/03/2012 15:38:52
#398099
Bem, o que você já tem? Tem as tabelas prontas desses dados já? Tem dados para testar? Se tiver, comece criando uma classe, clicando com o botão direito no ítem do projeto no Solution Explorer, escolher [Ô]Add Item[Ô] e [Ô]Class[Ô]. Vai aparecer uma janela, coloque o nome de [Ô]Login[Ô].
O próximo passo é saber quais os dados que você vai precisar durante o processo. Para cada um desses dados, crie uma propriedade com o tipo de dados equivalente:

public class Login
{
public string Login { get; set; }
public int Filial { get; set; }
...todos os outros dados que julgar necessários
}

Assim que tiver isso, podemos partir para como usar isso...
JAIR2002 23/03/2012 18:44:54
#398128
KERPLUNK,


FIZ EXATAMENTE COMO VOCE EXEMPLIFICOU , AGORA COMO PODEMOS USÁ?

GRATO,

JAIR
KERPLUNK 24/03/2012 20:55:16
#398175
Certo, agora, você vai criar uma outra classe, que vai conter métodos que busquem esses dados retornando uma instância dessa classe que você acabou de criar.
JAIR2002 25/03/2012 11:52:00
#398192
KERPLUNK,

CARA OBRIGADO PELO COLABORAÇÃO PRESTADA, COMO SE DIZ NO NORTE/NORDESTE VOCÊ é UM CARA [Ô]PORRETA[Ô].

APÓS PESQUISAR BASTANTE NA NET, ENCONTREI EXEMPLO DE COMO FAZER ISSO E AGORA ESTOU COLOCANDO EM PRATICA, DE QUALQUER FORMA MUITO OBRIGADO PELAS INFORMAÇÕES, COM CERTEZA ME AJUDARAM A ENTENDER E DIRIMIR MELHOR MINHAS DUVIDAS.

GRATO,

JAIR
Tópico encerrado , respostas não são mais permitidas