E 'ok per utilizzare .NET MembershipProvider di avere più “applicazioni” virtuali su una sola applicazione web?

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

Domanda

Voglio costruire applicazioni web asp.net a portale da zero e stavo guardando asp.net MembershipProvider come un modo standard per la gestione dell'utente. Ho creato il mio fornitore che eredita da SqlMembershipProvider e sovrascrivere il metodo 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;
        }

Sto cercando di convalidare le credenziali immesse contro tutte le applicazioni, mentre GetAllApplicationsMethod () riceve tutte le applicazioni da tavolo aspnet_Applications (ho anche una parte per l'inserimento delle applicazioni nella stessa tabella).

Se la convalida riesce quindi il nome dell'applicazione è leaved su entrambi i provider di appartenenze e ruoli, altrimenti rimane da un default che è l'applicazione predefinita per gli utenti anonimi.

È stato utile?

Soluzione

Sì, ho fatto somethihng simili in diverse occasioni. L'unica differenza è che io guardo il nome dell'applicazione in una tabella di database basato sul URL l'utente entra in off di validare e solo per quella applicazione. Il tavolo ha due campi, URL e ApplicationName. L'ApplicationName è lo stesso ApplicationName come il campo aspnet_Applications.ApplicationName.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top