Pergunta

Eu tenho um site interno que log usuários no. Esta informação é guardada como um cookie. De lá, os usuários ir em sua maneira alegre. De vez em quando o aplicativo (s) irá consultar o registro de autenticação para determinar as permissões que o usuário tem.

A minha pergunta é esta: É mais eficiente para apenas consultar o cookie para os dados do usuário quando for necessário ou para salvar as informações do usuário no viewstate?

[Edit] Como mencionado abaixo, Session é também uma opção.

Foi útil?

Solução

Viewstate é específico para a página que está vendo, então seu ido uma vez eles vão junto ao melhor forma alegre. Não é uma boa maneira de manter dados.

Sua melhor aposta é usar autenticação de formulários, construído em sua para ASP.NET e você também pode empurrar qualquer informação específica do usuário nos formulários Valor de autenticação Ticket. Você pode obter 4000 bytes em (depois de criptografar) lá que deve segurar o que você precisa. Ele também irá cuidar de permitir e negar aos usuários acesso a páginas do site, e você pode configurá-lo para expirar sempre que precisar.

O armazenamento na sessão é um não-não porque escalas muito mal (consome recursos no servidor), e pode ser irritante para os usuários com conexões múltiplas do navegador para o mesmo servidor. Às vezes é inevitável, mas você deve ter um grande esforço para evitá-lo se você puder.

Outras dicas

Pessoalmente, eu prefiro usar um sessão para guardar as coisas, embora os outros desenvolvedores aqui parecem pensar que é um não-não.

Há uma ressalva: Você pode querer guardar IP do usuário na sessão e compará-lo ao corrente IP do usuário para seqüestro ajuda sessão evitar. Possivelmente alguém aqui tem uma idéia melhor sobre como prevenir o seqüestro de sessão.

Você pode usar os dados da sessão -. Dessa forma, você sabe que uma vez que você tem armazenado lá, os usuários não podem brincar com ele, alterando a string de consulta

Gostaria de usar o método de cookie. Sessão é bom, mas fica descartado pelo asp.net em recompilação, e você tem que usar um cookie não sessão se você quiser manter-lo depois de qualquer maneira sessão. Além disso, se você nunca usar um StateServer sua essencialmente fazendo a mesma coisa (sessão de lojas no db). Sessão é como uma solução rápida e suja, os homens reais usam cookies.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top