Parece que está relativamente satisfecho con su proceso de autenticación, pero desea explorar otras opciones para la sesión/configuración.
Mi sugerencia tiene que ver con la configuración solamente (roles, preferencias, etc.)
En mi opinión, tener que atravesar toda la pila de tecnología desde la interfaz de usuario al nivel empresarial hasta el nivel de base de datos a DB es a veces un poco exagerado. Para los datos que no es probable que cambien durante una sesión, esto agrega una gran sobrecarga ... Se pueden producir varias transformaciones de datos (DB (Formato relacional) -> ORM -> Servicio web Serialización XML -> Deserialización del nivel web)
Puede considerar un sistema de sesión que no dependa de un sistema RDBMS pesado o en el modelo de caché/sesión de ASP.NET. Hay opciones que son muy efectivas y que se escalan bien.
Puede usar RavenDB por Ayende Rahien (Built for .NET). Su objetivo principal es proporcionar acceso de baja latencia y alto rendimiento a documentos JSON sin esquema.
Con esta solución, configuraría ravenDB en el nivel web para que el acceso a los datos sea muy rápido. La primera vez que autentica y recupera la configuración, almacenaría la información de usuario y configuración en esta sesión DB. Cada vez que carga el controlador después de eso, se puede acceder a los datos de configuración sin tener que volver al RDBMS. Esta base de datos también se puede usar para almacenar en caché otros datos relacionados con la web.
En cuanto a la seguridad, los datos de configuración llegan al nivel web independientemente del método que utilice. Esta solución no sería más o menos segura que las otras opciones (más segura que una cookie no encriptada). Si lo necesitara, podría cifrar los datos de la sesión, pero eso aumentará su sobrecarga nuevamente.
Simplemente otra de las millones de opciones a considerar.
buena suerte,
Háganos saber lo que decida!
Patrick.
Es una buena idea hacer que sus títulos sean descriptivos. Este título es francamente inútil. Usaría algo como "¿Cómo debo hacer la autenticación en un sitio ASP.Net?" –
Parece que su pregunta es principalmente sobre el rendimiento, entonces? ¿Siente que está accediendo a la base de datos de configuración con demasiada frecuencia? –
Creo que se trata de una simple solución específica mvc (1 o 2) para datos persistentes sin usar sesiones. – chobo