0

Je construis un site utilisant les services WCF RIA et Silverlight 4. Ma base de données utilisateur, le magasin utilisateur ASPNETDB standard, est sur mon serveur, qui n'est pas sur ma machine de développement local. J'ai créé un nouveau projet en utilisant le modèle Silverlight Business Application. Je suis toujours en train de me familiariser avec le développement de la RIA de la WCF. Je voudrais pointer vers le ASPNETDB mentionné sur mon serveur afin que je puisse créer des utilisateurs et m'authentifier à la fois via mon application Web ET l'outil d'administration de site Web ASP.NET. Pour ce faire, je l'ai modifié ma Web.config comme suit:Authentification sur un serveur non local avec services WCF RIA (Silverlight 4)

<membership defaultProvider="MySqlMembershipProvider" userIsOnlineTimeWindow="15"> 
    <providers> 
    <add name="MySqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionString="myConnectionString" applicationName="riaSilverlightSite"/> 
    </providers> 
</membership> 

Et j'ai ajouté mon serveur chaîne de connexion de DB à la Web.config et ...

<add name="myConnectionString" connectionString="Data Source=server\SQLEXPRESS,2301;Database=aspnetdb;Integrated Security=SSPI;"/> 

Lorsque J'essaie d'accéder au magasin de données via l'outil d'administration de site Web ASP.NET, j'obtiens l'erreur suivante: "Il y a un problème avec votre magasin de données sélectionné.Cela peut être dû à un nom de serveur non valide ou à des informations d'identification insuffisantes. Il peut également être provoqué par l'activation de la fonctionnalité du gestionnaire de rôles 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: Une erreur s'est produite lors de la tentative d'initialisation d'un objet System.Data.SqlClient.SqlConnection. La valeur fournie pour la chaîne de connexion peut être incorrecte ou contenir une syntaxe non valide. Nom du paramètre: ConnectionString »

  1. cet outil encore utilisable lors de l'élaboration d'une application à l'aide des services WCF RIA
  2. Ai-je besoin de faire d'autres changements dans le web.config pour permettre l'ajout/modification des utilisateurs/rôles avec cet outil?
  3. Ai-je besoin de créer d'autres classes spécifiques à la structure du projet WCF RIA pour faciliter mon fournisseur personnalisé? (à savoir les classes de service de domaine, etc.)

Merci à l'avance. Laissez-moi savoir si mes questions ont besoin de clarification

Répondre

0

Si votre base de données n'est pas sur le serveur Web, vous ne pouvez pas utiliser l'emprunt d'identité pour utiliser l'authentification SSPI. L'emprunt d'identité fonctionne jusqu'à IIS et la boîte de serveur Web, mais ne peut pas être propagé à SQL Server sur une machine différente.

Ceci est un problème courant et je ne connais aucune solution à ce jour. Vous devez compter sur l'identité de votre application Web pour effectuer l'authentification pour vous.

+0

Assez juste. Je pense que je finirai par créer un fichier .mdf local avec des données de test, qui seront vérifiées dans le contrôle de source. Web.debug.config pointera vers ce fichier local. Lorsque je déploie la solution sur mon serveur, Web.release.config pointe vers la base de données SQL sur le serveur lui-même. – jturinetti

Questions connexes