2012-08-07 70 views
1

所以我一直在從一個現有的數據庫中提取數據的MVC應用程序。我將其設計爲「Intranet應用程序」,以便用戶可以使用其Windows憑據自動登錄到應用程序。這是有效的,因爲屬性@ User.Identity.Name返回我的Windows登錄名。 (以及其他用戶),他們可以訪問應用程序本身。但是,試圖訪問數據庫中的信息是,我得到以下錯誤時:與IIS和Asp.net MVC Intranet應用程序的Windows身份驗證問題

[SqlException (0x80131904): Login failed for user '**My computer name**'.]

這樣看來,它是認識我的Windows登錄,但出於某種原因想用我的機器名來訪問數據庫代替。在該公司,這個特定的數據庫也可以使用員工的Windows用戶名訪問,所以我希望人們能夠使用MVC應用程序中的內置Windows身份驗證自動訪問它。

在我的web.config中,我的身份冒充設置爲false,身份驗證模式等於Windows和下面的鍵中的appSettings:

<add key="ClientValidationEnabled" value="true" /> 
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
<add key="enableSimpleMembership" value="false"/> 
<add key="autoFormsAuthentication" value="false" /> 

連接字符串是自動生成對我來說,和信息在從Visual Studio運行應用程序時是可檢索的,所以我只能假設這是IIS設置的問題。 (我以前從未部署過MVC應用程序)

在應用程序的IIS設置上,除Windows身份驗證外,我禁用了所有身份驗證。任何想法我做錯了什麼?如果您還需要任何其他信息,請告知我們。

+0

你的sql連接字符串是什麼樣的? – Brownman98 2012-08-07 20:32:03

回答

2

打開身份驗證配置中的模擬。否則,應用程序池的標識將用於連接到您的Sql Server。

+0

哇,我發誓我試過了,但那的確是訣竅。謝謝你,先生! – Durand 2012-08-07 20:31:21

相關問題