2010-05-04 9 views
3

Membership.ApplicationName est une chaîne statique. Mon problème est que si je veux changer cette valeur pour interoguer l'appartenance de une autre application sur la même base de données, la modification est permanente, ce qui signifie que le nom de l'application pour le site actuel a maintenant changé à cette valeur.Membership.ApplicationName issue

Dans un monde parfait, je pourrais appeler Membership.GetUser($username, $ApplicationName), mais une telle fonction n'existe pas.

Quelqu'un peut-il offrir des idées?

+0

Dans quel cas avez-vous besoin d'une application pour administrer des utilisateurs dans une autre application? Pourquoi ne pas rediriger l'utilisateur vers la page appropriée ou configurer des services Web dans les applications pour effectuer ces tâches? –

Répondre

1

Le paramètre Membership.ApplicationName est global par conception. La documentation MSDN indique que si vous avez besoin d'une application qui peut modifier cette valeur, il doit s'agir d'une application utilisateur unique.

http://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname.aspx

(Lisez la section Mise en garde sous Remarques)

Il existe deux alternatives pour résoudre votre problème: 1) Créer une application distincte pour l'administration des utilisateurs. 2) Écris un fournisseur d'adhésion personnalisé qui a la méthode que tu as suggérée. Vous devez également écrire la couche d'accès aux données, mais la structure de la base de données est bien définie, ce qui ne devrait pas être trop difficile à faire.