部署后,我的 ASP.NET 应用程序出现问题。一切在调试模式下运行良好,但是在部署后任何尝试连接到数据库的页面都会出现此错误:
用户 '' 登录失败。
我的 SQLConnection 字符串是:
sdb.ConnectionString = "Data Source=< SQLServerAddress >;Initial Catalog=sdb;";
本来我有
Integrated Security=true;
附加到我的连接字符串,但是这导致了类似的错误消息:
“用户 '< 域 >\< 计算机名 >$' 登录失败。”
我是 IIS 新手,但已按照指南进行设置。我的网站正在使用 DefaultAppPool ,其身份设置为 NetworkService (尽管我已经尝试过 ApplicationPoolIdentity 并且它似乎没有任何改变。)
我还在 SQL 服务器中为我的数据库添加了 NT AUTHORITY\NETWORK SERVICE 帐户作为 db_owner 权限。
在身份验证设置下,我将匿名身份验证用户身份设置为“应用程序池身份”。
我已将 C:\inetpub\wwwroot 文件夹的权限授予 NETWORK SERVICE,但这似乎也无济于事。
我真的不知道还能尝试什么。我可以看到问题一定出在权限或身份上,因为在 Visual Studio 调试中一切正常,但我不确定问题出在部署后。这是我的第一个 IIS 部署,用于我在大学的本科计算机科学项目的一个项目。我一直在谷歌搜索一天的大部分时间并尝试了许多适用的建议,但不幸的是似乎没有任何效果,而且我有点不确定现在要搜索什么来寻找解决方案。
我不确定它是否重要,但我从代码隐藏连接到我的数据库,连接代码以及我如何使用它如下:
SqlDataSource sdb = new SqlDataSource();
sdb.ConnectionString = "Data Source=< SQLServerAddress >;Initial Catalog=sdb;";
sdb.SelectCommand = "SELECT someAttribute, someOtherAtt FROM SomeTable";
dropDownList.DataSource = sdb;
dropDownList.DataTextField = "someAttribute";
dropDownList.DataValueField = "someOtherAtt";