为了账号安全,请及时绑定邮箱和手机立即绑定

用户“IIS APPPOOL\ASP.NET v4.0”登录失败

用户“IIS APPPOOL\ASP.NET v4.0”登录失败

智慧大石 2019-07-19 10:42:47
用户“IIS APPPOOL\ASP.NET v4.0”登录失败我有一个Web项目(C#ASP.NET、EF 4、MS SQL 2008和IIS 7),我需要在本地将它迁移到IIS 7(目前,Cassini可以很好地工作)。在IIS的本地,我有我的Default Web Site用我的部署。我的部署和Default Web Site在池ASP.NETV4.0上(查看图像以获得设置),池目标框架4作为我的Web项目。访问站点时,浏览器不显示页面,而是允许浏览器下载该页。我有其他在IIS上本地运行的项目,它们的工作没有问题(但它们不使用实体框架)。使用事件日志,我看到以下错误:Exception information:      Exception type: EntityException      Exception message: The underlying provider failed on Open.    at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)     Login failed for user 'IIS APPPOOL\ASP.NET v4.0'.        at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)        at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)        at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)        at System.Data.SqlClient.SqlConnection.Open()        at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)相关问题更新:您可以在有关此问题的参考资料中看到,必须手动授予MSSQL 2008的权限,作为他的回答中的arift解释。使用IIS 7.5和MSSQL2008R2,设置手动权限是不必要的。
查看完整描述

3 回答

?
料青山看我应如是

TA贡献1772条经验 获得超7个赞

您可以从IIS 7->应用程序池->高级设置中更改ApplicationPoolIdEntity。

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

编辑:在应用这个建议之前,你应该注意并理解安全问题。


查看完整回答
反对 回复 2019-07-19
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

运行此sql脚本

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'GO


查看完整回答
反对 回复 2019-07-19
  • 3 回答
  • 0 关注
  • 582 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信