我剛剛讀了一些內容表明在這裏使用集成安全性好得多,所以我已將所有連接字符串切換過來。使用集成安全性時,我應該使用默認的應用程序
我得到的錯誤是「用戶'IIS APPPOOL \ DefaultAppPool'登錄失敗。」
在我繼續並授予此用戶權限之前,我想確保這是正確的事情,並且我不會無意中打開黑客地獄的閘門。
我應該授予此應用程序池權限來訪問我的SQL,還是應該創建一個新的應用程序池?
我在.NET 4.5
我剛剛讀了一些內容表明在這裏使用集成安全性好得多,所以我已將所有連接字符串切換過來。使用集成安全性時,我應該使用默認的應用程序
我得到的錯誤是「用戶'IIS APPPOOL \ DefaultAppPool'登錄失敗。」
在我繼續並授予此用戶權限之前,我想確保這是正確的事情,並且我不會無意中打開黑客地獄的閘門。
我應該授予此應用程序池權限來訪問我的SQL,還是應該創建一個新的應用程序池?
我在.NET 4.5
編寫WCF服務,你有使用這個應用程序池,並有可能提供數據庫訪問的安全風險在服務器上的其他網站或服務?如果是,請創建一個新的應用程序池。你有另一個網站,可能導致應用程序池進程崩潰,或可能有內存泄漏(從而影響同一應用程序池中的其他網站)?如果是,請創建一個新的應用程序池。
除了稍多的內存使用量外,應用程序池隔離功能確實沒有任何嚴重的缺點。 Microsoft "generally" recommends it(雖然這篇文章是有關SharePoint安裝,應用程序池/數據庫訪問概念是相同的):
您需要確定哪些應用程序池在IIS是要由IIS Web站點使用。 IIS中的應用程序池使用您指定的帳戶標識代表網站訪問資源。 Web應用程序將使用此應用程序池來訪問其內容數據庫。通常,您需要創建一個新的應用程序池以使其與現有的應用程序池分開。
請參閱this thread瞭解每個站點單獨應用程序池的優缺點。
太好了,謝謝。有一件事我找不到,如果我創建一個新的應用程序池,我可以分配一個帳戶運行。據推測,我應該爲每個應用程序池創建一個新帳戶,但我不能100%確定如何正確執行此操作。是否只是向本地計算機添加帳戶並將其作爲「訪客」權限進行賦予的情況。沒有能力做任何事情,然後讓SQL授予它權限? – NibblyPig
您可以通過以下兩種方式之一:IIS爲每個新應用程序池創建一個帳戶(http://www.iis.net/learn/manage/configuring-security/application-pool-identities)。或者,您可以使用本地或域帳戶來託管應用程序池。無論使用哪種方式,都需要授予該帳戶對SQL數據庫的訪問權限,以服務身份登錄的能力以及系統的IIS_IUSRS組中的成員身份。 –
謝謝,這非常有幫助。 – NibblyPig