Comment puis-je utiliser un fournisseur d'adhésion personnalisé et un utilisateur d'adhésion personnalisé?

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

  •  09-06-2019
  •  | 
  •  

Question

Je dois créer un utilisateur et un fournisseur d'adhésion personnalisés pour une application ASP.NET MVC et je souhaite utiliser TDD. J'ai créé une classe User qui hérite de la classe MembershipUser, mais lorsque j'essaie de la tester, j'obtiens une erreur que je n'arrive pas à résoudre. Comment lui donner un nom de fournisseur valide? Dois-je simplement l'ajouter à web.config? Mais je ne teste même pas l'application Web à ce stade.

[échec] UserTests.SetUp.UserShouldHaveMembershipUserProperties TestCase 'UserTests.SetUp.UserShouldHaveMembershipUserProperties' failed: Le nom du fournisseur d'appartenance spécifié n'est pas valide. Nom du paramètre: providerName     System.ArgumentException     Message: Le nom du fournisseur d'appartenance spécifié n'est pas valide.     Nom du paramètre: providerName     Source: System.Web

Était-ce utile?

La solution

La configuration à ajouter au fichier de configuration de votre projet de test unitaire ressemblerait à ceci:

  <connectionStrings>
     <remove name="LocalSqlServer"/>
     <add name="LocalSqlServer" connectionString="<connection string>" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <system.web>
     <membership defaultProvider="provider">
       <providers>
         <add name="provider" applicationName="MyApp" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" maxInvalidPasswordAttempts="3" passwordAttemptWindow="15"/>
       </providers>
     </membership>
  </system.web>

Autres conseils

Oui, vous devez le configurer dans votre fichier de configuration (probablement pas web.config pour une bibliothèque de test, mais app.config). Vous utilisez toujours la section et à l'intérieur de celle-ci pour effectuer la configuration. Une fois que vous avez cela en place, vous pourrez instancier votre utilisateur et le tester. À ce stade, vous rencontrerez probablement de nouveaux problèmes, que vous devriez poser en tant que questions séparées, je pense.

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