Usando FormsAuthentication acumulación en asp.net es muy rápida y fácil de crear un sistema de inicio de sesión que crea una cookie para los usuarios autenticados:FormsAuthentication: ¿Es seguro?
FormsAuthentication.SetAuthCookie(uniqueUsername, false);
En combinación con algo de código en el archivo Web.Config :
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="30" defaultUrl="Dashboard.aspx" protection="All" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
Esto se va a recuperar todas las peticiones de vuelta a Login.aspx hasta que el usuario está aprobado y una galleta se crea utilizando la llamada al método SetAuthCookie().
¿Es esto suficientemente seguro?
La regla de oro que uso es que no almaceno ningún dato en el cliente que no me hayan enviado. Entonces, lo que hice en el pasado es mantener el nombre de usuario y la contraseña utilizados en una cookie, y volver a autenticar esto con cada solicitud.
Existe la sobrecarga adicional de volver a autenticar cada vez con este enfoque, pero también significa que no he almacenado ningún dato del servidor en el cliente.
Mi preocupación
Mi preocupación es que al utilizar el método de llamada SetAuthCookie(), que el nombre de usuario se almacena en la máquina cliente. ¿Es posible que alguien rompa el cifrado utilizado y sustituya el nombre de usuario por otro?
Creo que estoy siendo demasiado paranoico y que el tipo y nivel de encriptación que se usa es adecuado, pero pensé que obtendría información de expertos sobre el tema.
Posible duplicación de http://stackoverflow.com/questions/133106/how-secure-is-basic-forms-authentication-in-asp-net – 5arx
No voto para cerrar, esta pregunta no duplica directamente el URL anterior. –
¿Por qué tiene authorization> en web.config? –
Rushino