Asp.net 不断获得;用户IIS APPPOOL\DefaultAppPool的登录失败;不管我做什么

Asp.net 不断获得;用户IIS APPPOOL\DefaultAppPool的登录失败;不管我做什么,asp.net,iis-7.5,sql-server-2012-express,Asp.net,Iis 7.5,Sql Server 2012 Express,我试图让ASP NET应用程序访问数据库(这些只是测试,不是生产) 这是我第一次在这个网络中尝试它,以前我还没有使用VS2012、SQL Server 2012 Express和Windows 7进行过尝试 我所做的: 我升级了我的Sql Server 2012 Express,因为VS2012首先安装的版本不允许从IIS访问 我发现我必须将SQL Server 2012 Express配置为接受远程连接,然后我浏览了一个很好的博客 在SSME 2012中,我为所有数据库添加了一个新的登录名N

我试图让ASP NET应用程序访问数据库(这些只是测试,不是生产)

这是我第一次在这个网络中尝试它,以前我还没有使用VS2012、SQL Server 2012 Express和Windows 7进行过尝试

我所做的:

  • 我升级了我的Sql Server 2012 Express,因为VS2012首先安装的版本不允许从IIS访问
  • 我发现我必须将SQL Server 2012 Express配置为接受远程连接,然后我浏览了一个很好的博客
  • 在SSME 2012中,我为所有数据库添加了一个新的登录名NT AUTHORITY\NETWORKSERVICE(我浏览了它,发现“红色服务”代表NETWORKSERVICE,所以它实际上是NT AUTHORITY\Servicio de red
  • 我将dbo设置为此登录的默认模式
  • 在登录属性下,在用户映射中,我检查了我的数据库(我将其命名为MiniNorthwind),然后在MiniNorthwind的数据库角色成员资格中检查了db_datareader和db_datawriter
  • 在Internet信息服务管理器中,我检查了DefaultAppPool标识是否为ApplicationPoolIdentity(这是默认设置)
但我仍然收到一个错误,提示用户IIS APPPOOL\DefaultAppPool登录失败,如果我将DefaultAppPool标识更改为NetworkService,则错误将更改为用户NT AUTHORITY\Servicio de red登录失败

我不知道还能做什么。求求你,这里需要帮助


在IIS管理器中,Rafael将DefaultAppPool标识设置为NetworkService。尽管它可以工作,但您应该尝试使它与AppPoolIdentity一起工作,因为它会让Windows 7尝试使其更安全

更改您的连接字符串

例如:

//< add name="CS"  connectionString="server=.;database=JackDB;user id=sa;password=ya;">
/

这解决了错误。

应用程序池->应用程序中使用的应用程序池->单击它,然后单击面板中的“高级设置”。找到“Identity”属性并将其更改为localsystem。

您可以从IIS7->Application Pools->Advanced Settings更改ApplicationPoolIdentity

在ApplicationPoolIdentity下,您将找到本地系统。这将使您的应用程序在
NT AUTHORITY\SYSTEM
下运行,默认情况下,这是数据库的现有登录名

有关更多信息,请查看此链接:

在我的情况下,我必须将我的
连接字符串更改为:

<add name="DatabaseName" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=HrAndPayroll;Integrated Security=True" providerName="System.Data.SqlClient" />

致:



部署项目后,我的
连接字符串
被修改,因此删除了
AttachDbFilename=|DataDirectory | \Database.mdf
,因此我必须在
连接字符串中显式地给出数据库的链接
其他所有答案对我都不起作用

我需要做的是转到应用程序池,右键单击我的网站,转到高级设置,然后按身份而不是默认的内置帐户应用程序池身份,我需要设置一个自定义帐户,并输入托管公司给我的用户名和密码

当我们尝试点击url的api登录方法时 (“”)我们已在中注册 “C:\Windows\System32\drivers\etc\hosts”文件,并托管在IIS上。然后我们得到一个错误,用户“IIS APPPOOL\DefaultAppPool”登录失败。无法打开数据库“但在数据库上运行下面的查询后,问题得到解决


我的连接字符串设置为集成安全性,我希望保持这种状态。我还想使用deffault应用程序池,我认为这是可能的。我在一台连接到网络的笔记本电脑上完成这一切,它安装了Win7 Ultimate X64。很抱歉,我只允许一次对您的答案进行投票。我终于理解了这个主题。
<add name="DatabaseName" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf;Initial Catalog=HrAndPayroll;Integrated Security=True" providerName="System.Data.SqlClient" />
IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'IIS APPPOOL\DefaultAppPool')
BEGIN
    CREATE LOGIN [IIS APPPOOL\DefaultAppPool] 
      FROM WINDOWS WITH DEFAULT_DATABASE=[master], 
      DEFAULT_LANGUAGE=[us_english]
END
GO
CREATE USER [WebDatabaseUser] 
  FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
 EXEC sp_addrolemember 'db_owner', 'WebDatabaseUser'