Repetiu consulta de cookie ou armazenamento em viewstate? Qual é a melhor prática?
-
03-07-2019 - |
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.
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 ??p>
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.