Bry*_*yan 2 sql-server asp.net asp.net-membership sql-server-2005
我有一个使用内置Membership功能的ASP.NET应用程序.因此,我的web.config中有一个连接字符串,如下所示:
<add name="MembershipSqlServer" connectionString="Data Source=servername;Database=aspnetdb;uid=user;pwd=password;" />
Run Code Online (Sandbox Code Playgroud)
在我的开发机器上工作时,一切都很好看.但是,当我将内容移动到Web服务器(也恰好运行SQL Server)时,我在调用User.IsInRole()时收到此错误:
System.Data.SqlClient.SqlException:用户'NT AUTHORITY\NETWORK SERVICE'登录失败.
F $%*!为什么尝试以这种方式连接?为什么不使用连接字符串中的用户/密码?开发和服务器上的Web.config是相同的,我在开发过程中使用服务器上的数据库.
好吧,我想通了......只有35分钟.:P
长话短说:asp.net会员有两个部分......一个会员提供者和一个ROLE提供者.你为什么要把这两件东西分开,我不知道......但我的web.config没有指定角色提供者和连接字符串,所以它默认为machine.config(又名LocalSqlServer连接字符串)中的设置.
所以这一次,我的应用程序用户都在服务器上......但是角色存储在App_Data中的本地.MDF文件中.啊.