C# 使用WCF RIA服务在非本地服务器上进行身份验证(Silverlight 4)
我正在使用WCF RIA服务和Silverlight 4构建一个站点。我的用户数据库,标准的ASPNETDB用户存储,位于我的服务器上,而不是本地开发机器上。我已经使用Silverlight业务应用程序模板创建了一个新项目。我仍然熟悉如何为WCF RIA开发,所以请耐心听我说。我想指出我服务器上提到的ASPNETDB,这样我就可以通过我的web应用程序和ASP.NET网站管理工具创建用户并进行身份验证。为此,我对Web.config进行了如下编辑:C# 使用WCF RIA服务在非本地服务器上进行身份验证(Silverlight 4),c#,asp.net,authentication,silverlight-4.0,wcf-ria-services,C#,Asp.net,Authentication,Silverlight 4.0,Wcf Ria Services,我正在使用WCF RIA服务和Silverlight 4构建一个站点。我的用户数据库,标准的ASPNETDB用户存储,位于我的服务器上,而不是本地开发机器上。我已经使用Silverlight业务应用程序模板创建了一个新项目。我仍然熟悉如何为WCF RIA开发,所以请耐心听我说。我想指出我服务器上提到的ASPNETDB,这样我就可以通过我的web应用程序和ASP.NET网站管理工具创建用户并进行身份验证。为此,我对Web.config进行了如下编辑: <membership defaultP
<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>
我还将服务器数据库的连接字符串添加到了Web.config中
<add name="myConnectionString" connectionString="Data Source=server\SQLEXPRESS,2301;Database=aspnetdb;Integrated Security=SSPI;"/>
当我尝试通过ASP.NET网站管理工具访问数据存储时,出现以下错误:
所选数据存储有问题。这可能是由于服务器名称或凭据无效,或者权限不足造成的。也可能是由于未启用角色管理器功能造成的。单击下面的按钮可重定向到可以选择新数据存储的页面
以下消息可能有助于诊断问题:尝试初始化System.Data.SqlClient.SqlConnection对象时出错。为连接字符串提供的值可能错误,或者可能包含无效语法。参数名称:connectionString“
提前谢谢。如果我的问题需要澄清,请告诉我。如果您的数据库不在web服务器上,则无法使用模拟来使用SSPI身份验证。模拟可用于IIS和web server box,但不能传播到其他计算机上的SQL server
这是一个常见的问题,到目前为止,我还不知道有什么解决办法。您必须依靠web应用程序的身份为您进行身份验证。这很公平。我想我最终要做的是创建一个带有测试数据的本地.mdf文件,该文件将被签入源代码管理。Web.debug.config将指向此本地文件。将解决方案部署到服务器时,Web.release.config将指向服务器本身上的SQL数据库。