簡體   English   中英

無論我做什么,繼續“登錄用戶IIS APPPOOL \\ DefaultAppPool失敗”

[英]Keep getting “Login failed for user IIS APPPOOL\DefaultAppPool” no matter what I do

我試圖讓ASP NET App訪問數據庫(這些只是測試而不是生產)。

這是我第一次在這個網絡中試用它,而我之前沒有使用VS2012,SQL Server 2012 Express,Windows 7

我做了什么:

  • 我升級了我的Sql Server 2012 Express,因為VS2012首次安裝的版本是不允許從IIS訪問的版本
  • 我發現我必須配置SQL Server 2012 Express來接受遠程連接 ,然后我按照我在這里找到的一個好博客
  • 在SSME 2012中,我為所有數據庫NT AUTHORITY \\ NETWORKSERVICE添加了一個新的登錄名(我瀏覽了它並找到了“Servicio de red”代表NETWORKSERVICE,所以它實際上是NT AUTHORITY \\ Servicio de red
  • 我將dbo設置為此登錄的默認架構
  • 在登錄屬性下,在User Mappings中 ,我檢查了我的數據庫(我將其命名為MiniNorthwind),然后在MiniNorthwind的數據庫角色成員資格中檢查了db_datareader和db_datawriter
  • 在Internet Information Services Manager中,我檢查了DefaultAppPool標識是ApplicationPoolIdentity (這是默認設置)

但我仍然收到錯誤,說用戶IIS APPPOOL \\ DefaultAppPool登錄失敗 ,如果我將DefaultAppPool標識更改為NetworkService,則用戶NT AUTHORITY \\ Servicio de red的錯誤更改為登錄失敗

我不知道還能做什么。 請在這里需要幫助。

拉斐爾

應用程序池 - >應用程序中使用的應用程序池 - >單擊它,然后單擊面板中的“高級設置”。 找到“Identity”屬性並將其更改為localsystem。

在IIS管理器中將DefaultAppPool標識設置為NetworkService。 雖然它有效,但您應該嘗試使其與AppPoolIdentity一起使用,因為Windows 7試圖讓它更安全

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

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

欲了解更多信息,請訪問以下鏈接: https//stackoverflow.com/a/8853386/1676736

更改連接字符串。

例如:

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

這解決了錯誤。

所有其他答案對我不起作用.....

我需要做的是去應用程序池,右鍵單擊我的網站,轉到高級設置和身份而不是默認的內置帳戶應用程序池標識,我需要設置一個自定義帳戶並輸入用戶名和密碼我的托管公司給了我。

當我們嘗試使用url登錄方法(“ http://api.xyz.com/v1/login ”)時,我們已在“ C:\\ Windows \\ System32 \\ drivers \\ etc \\ hosts ”文件中注冊並托管IIS。 然后我們得到一個錯誤登錄失敗的用戶'IIS APPPOOL \\ DefaultAppPool'。 無法打開數據庫 “但是在運行下面的數據庫查詢后問題解決了。

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'

就我而言,我不得不改變我的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顯式地給出我的數據庫的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM