现象:从Visual Studio运行,可以通过。但是从IIS浏览(或者远程登录)无法登陆,提示 "主机名\ASPNET登录失败,无法打开默认数据库"
解决办法:
1.ASP.NET的用户管理的数据保存在ASPNETDB.MDF文件中,登录的时候就要访问这个数据库。所以先把这个数据库附加到SQL Server中
2.进入到此数据库的安全性目录下,新建用户,把ASPNET用户加进来
3.双击ASPNET用户,在弹出的对话框中,把下面的 数据库角色成员身份 全部选中
4.到实例下的安全性目录下,双击ASPNET用户,在弹出来的对话框中,默认数据库设置成ASPNETDB


通过上面的步骤后,远程登录可以通过
下面说说其他数据库的安排,比如说还有一个数据库Database.MDF,VS自动生成的ConnectionString远程会连不上。
1.把数据库Database.MDF附加到SQL Server,并做如下设置(角色选择public和db_datareader )

2.把connectionstring改成如下形式,在连接字符串中指明要连接的数据库的名字。
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=true;Database=Database"
providerName="System.Data.SqlClient" /><!--完全相同?-->
</connectionStrings>
此种方法有一个缺点,那就是ASPNET用户默认数据库只能有一个,所以这种方法只适合只有一个网站用到用户管理的情况。