Est-il acceptable d'utiliser .NET MembershipProvider pour avoir plusieurs « applications » virtuelles sur une application web?

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

Question

Je veux construire application web asp.net comme portail à partir de zéro et regardait asp.net MembershipProvider comme un moyen standard pour la gestion de l'utilisateur. J'ai créé mon fournisseur héritant de SqlMembershipProvider et passer outre la méthode 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;
        }

Je suis en train de valider les informations d'identification saisies sur toutes les applications, tout en GetAllApplicationsMethod () obtient toutes les applications de la table aspnet_Applications (j'ai également partie pour insérer des applications dans le même tableau).

Si la validation réussit alors nom de l'application est à feuilles sur les deux fournisseurs d'appartenances et rôles, sinon il reste sur une par défaut qui est une application prédéfinie pour les utilisateurs anonymes.

Était-ce utile?

La solution

Oui, je l'ai fait somethihng même à plusieurs reprises. La seule différence étant que je regarde le nom de l'application dans une table de base de données basée sur l'URL que l'utilisateur vient hors de et ne valider que pour une application. La table a deux champs, URL et ApplicationName. NomApplication est le même NomApplication que le champ aspnet_Applications.ApplicationName.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top