2009-01-07 6 views
2

J'ai écrit un MembershipProvider personnalisé qui utilise un schéma de base de données personnalisé pour stocker les membres, mais je n'arrive pas à trouver comment déployer le fournisseur. Mon serveur cible exécute IIS7, et je suis capable de naviguer vers une boîte de dialogue pour ajouter un fournisseur d'utilisateurs .NET, mais au lieu de me permettre de sélectionner l'assembly contenant le fournisseur & puis la classe, il fournit une liste déroulante avec un deux fournisseurs MS écrit. Dois-je supprimer mon assembly dans un emplacement spécifique pour que ma classe MembershipProvider soit découverte par IIS? Si oui, où est-ce que le .dll doit aller? Sinon, comment dire à ASP.Net d'utiliser mon MembershipProvider? Chaque exemple que j'ai vu fait simplement référence au nom de classe complet, mais ne fait aucune mention de la façon dont le fichier doit être déployé.Comment déployer un MembershipProvider personnalisé ASP.net?

Répondre

8

Si vous regardez dans le fichier web.config pour votre application, vous devriez avoir une section appelée system.web. Dans ce cadre, il y a un élément d'adhésion avec une liste de fournisseurs. Vous devriez être en mesure d'ajouter votre fournisseur et d'y définir un fournisseur par défaut. Une fois que votre fournisseur d'adhésion est enregistré de cette manière, vous devriez également pouvoir le sélectionner par défaut pour cette application auprès d'IIS. L'élément providers vous permet d'enregistrer plusieurs fournisseurs parmi lesquels choisir. Une autre fonctionnalité est que vous pouvez effacer les fournisseurs d'appartenance enregistrés dans d'autres fichiers de configuration sur la machine. Cela peut rendre la configuration de votre application moins sujette aux erreurs plus tard. Pour ce faire, ajoutez l'élément < clear/> avant le premier fournisseur d'appartenance (l'élément < add/>) dans la liste.

<system.web> 
    ... 
    <membership defaultProvider="MembershipProvider1"> 
     <providers> 
      <clear /> 
      <add name="MembershipProvider1" ... /> 
      <add name="MembershipProvider2" ... /> 
     </providers> 
    </membership> 
    ... 
</system.web> 

Si vous souhaitez enregistrer le même fournisseur avec plusieurs applications Web utilisant simplement Gestionnaire des services Internet, vous aurez besoin de mettre l'ensemble dans le GAC et ajouter le fournisseur à l'un des fichiers de configuration de la machine à la place. C'est généralement plus de travail pour peu d'avantages lors du déploiement d'une seule application.

+0

Vous pouvez également ajouter un juste avant le

Questions connexes