ASP.NET MVC 2 - Essayer de rôle de configuration / gestion des utilisateurs via l'outil de configuration ASP.NET

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

Question

D'abord, mon environnement de développement. Ordinateur portable Win7 avec Visual Studio Professional 2010. IIS est PAS installé

Je suis en train d'activer et de mettre en place des rôles pour la gestion des utilisateurs via la configuration ASP.NET outil, comme l'a démontré dans le tutoriel MVCMusicStore. Lorsque je clique sur l'onglet « Sécurité », je reçois l'erreur suivante:

"Il y a un problème avec votre magasin de données sélectionné. Cela peut être causé par un nom de serveur non valide ou les informations d'identification, ou avec l'autorisation insuffisante. Il peut aussi être causée par la fonction de gestionnaire de rôles ne sont pas activé. Cliquez sur le bouton ci-dessous pour être redirigé vers une page où vous pouvez choisir un nouveau magasin de données.

Le message suivant peut aider à diagnostiquer le problème. Impossible type de charge HandiGamer.MvcApplication "

Lorsque je clique sur le « bouton ci-dessous », il me dit que je utilise AspNetSqlProvider comme mon fournisseur. Lorsque je tente de le tester, il me dit:

"Impossible d'établir une connexion à la base de données. Si vous ne l'avez pas encore créé la base de données SQL Server, quittez l'outil d'administration du site Web, utilisez l'utilitaire aspnet_regsql ligne de commande pour créer et configurer la base de données, puis revenir à cet outil pour définir le fournisseur. "

Voici la chose:

  1. Le rôle de démonstration MVCMusicStore / la gestion des utilisateurs fonctionne quand je le lance à travers le débogueur. Je peux me ajouter en tant que client, et ajouter / supprimer des éléments de mon panier. Malgré ce, lorsque je tente d'utiliser l'outil de configuration avec elle, je reçois les mêmes erreurs.

  2. J'ai fait courir aspnet_regsql sur ma copie de SQL Server 2008 Express. Il a créé les tables nécessaires pour la gestion des utilisateurs. N'a toujours pas résoudre mon problème.

Je me demande si je me manque quelque chose d'évident, comme le tutoriel dit essentiellement « Cliquez deux boutons et vous êtes tous ensemble. » Il dit littéralement rien sur la configuration du db pour cela.

Je suis perplexe à ce moment. travaux de gestion de rôle / utilisateur (le MVCMusicStore prouve qu'il fait), mais l'outil de configuration ne me laisse pas l'activer, mettre en place, ou autrement modifier la façon dont cela fonctionne. Il devient très frustrant. Toute aide serait grandement appréciée.

EDIT: Mon web.config est la suivante -

<?xml version="1.0"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->

<configuration>
  <connectionStrings>
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
    <add name="HandiGamer" connectionString="data source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|handigamer.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
    </compilation>

    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>

    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="HandiGamer" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="HandiGamer" />
      </providers>
    </profile>

    <roleManager enabled="true">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="HandiGamer" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="HandiGamer" />
      </providers>
    </roleManager>

    <pages>
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Était-ce utile?

La solution

trouvé la solution. Nous avons dû compiler / construire ma solution avant que l'outil de configuration serait « voir » les choses de sécurité db.

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