¿Está bien usar .NET MembershipProvider tener múltiples “aplicaciones” virtuales en una aplicación web?

StackOverflow https://stackoverflow.com/questions/399941

Pregunta

Quiero construir aplicaciones web asp.net de portal desde cero y estaba buscando en MembershipProvider asp.net como una forma estándar para la gestión de usuario. He creado el profesional de la herencia de SqlMembershipProvider y reemplazar el método ValidateUser:

        public override bool ValidateUser(string username, string password)
        {
            string temp = ApplicationName;
            List<MtscApp> allApps = GetAllApplications();
            foreach (MtscApp app in allApps)
            {
                ApplicationName = app.Name;
                Roles.ApplicationName = app.Name;
                if (base.ValidateUser(username, password))
                {
                    return true;
                }
            }
            ApplicationName = temp;
            Roles.ApplicationName = temp;
            return false;
        }

Estoy tratando de validar credenciales introducidas en contra de todas las aplicaciones, mientras que GetAllApplicationsMethod () obtiene todas las aplicaciones de la mesa aspnet_Applications (también tengo parte para insertar aplicaciones en la misma tabla).

Si la validación tiene éxito entonces Nombre de la aplicación está con hojas en ambos proveedores de pertenencia y roles, de lo contrario, se mantiene por un defecto que es aplicación predefinida para los usuarios anónimos.

¿Fue útil?

Solución

Sí, lo he hecho somethihng similares en varias ocasiones. La única diferencia es que miro el nombre de la aplicación en una tabla de base de datos basado en la URL que el usuario entra en juego fuera de validar y sólo por esa aplicación. La tabla tiene dos campos, URL y ApplicationName. El ApplicationName es el mismo ApplicationName como el campo aspnet_Applications.ApplicationName.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top