2014-02-14 85 views
5

我試圖給一個ASP NET應用程序訪問數據庫(這些只是測試而非生產)。無論我做什麼,都會收到「用戶IIS APPPOOL DefaultAppPool登錄失敗」

這是我第一次嘗試,在這個網絡中,並與VS2012的SQL Server 2012 Express中,Windows 7的前

我做了什麼我沒有完成它,:

  • 我升級了我的Sql Server 2012 Express,因爲VS2012首次安裝的版本是不允許從IIS訪問的版本
  • 我發現我必須配置SQL Server 2012 Express才能接受遠程連接,好博客,我發現 here
  • 在2012 SSME,我添加了一個新的登錄所有數據庫NT AUTHORITY \ NETWORKSERVICE(我瀏覽了一下,發現「SERVICIO德紅」,這代表NETWORKSERVICE,因此它實際上是NT AUTHORITY \ SERVICIO德紅
  • 我設置DBO作爲此登錄
  • 在登錄屬性的默認模式,在用戶映射,我檢查了我的數據庫(我叫MiniNorthwind),然後在數據庫角色檢查的db_datareader和db_datawriter MiniNorthwind的會員號碼
  • 在Internet信息服務管理器我檢查了默認應用身份ApplicationPoolIdentity(這是默認設置)

但我仍然得到一個錯誤,指出用戶登錄失敗IIS APPPOOL \默認應用,如果我將DefaultAppPool身份更改爲NetworkService,然後錯誤更改爲用戶登錄失敗NT AUTHORITY \ Servicio de red

我不知道還有什麼辦法。請在這裏需要幫助。

拉斐爾

+0

我的連接字符串設置爲集成安全性,我想保持這種方式。我也想使用deffault應用程序池,我認爲這是可能的。 – Rafael

+0

我在連接到網絡的筆記本電腦上完成了這一切,它安裝了Win7 Ultimate x64 – Rafael

回答

3

在IIS管理器中設置默認應用的身份爲網絡服務。儘管它有效,但您應該嘗試使其與AppPoolIdentity配合使用,因爲Windows 7試圖使其更安全

0

更改您的連接字符串。

例如:

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

這解決了錯誤。

4

應用程序池 - >您在應用程序中使用的應用程序池 - >單擊它,然後單擊面板中的「高級設置」。查找「身份」屬性並將其更改爲本地系統。

0

您可以從IIS7 - >應用程序池 - >高級設置中更改ApplicationPoolIdentity。

Under ApplicationPoolIdentity你會發現本地系統。這將使您的應用程序在NT AUTHORITY\SYSTEM下運行,默認情況下該數據庫是現有的數據庫登錄名。

欲瞭解更多信息請看此鏈接: https://stackoverflow.com/a/8853386/1676736

0

就我而言,我不得不改變我connectionString來自:

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

到:

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

我部署後,我項目,我的connectionString得到了修改,因此刪除AttachDbFilename=|DataDirectory|\Database.mdf,所以我不得不給我的數據鏈接基地明確在connectionString

相關問題