2010-01-01 54 views
0

對於ASP.NET webforms,我總是需要以下服務器登錄:[machine_name \ ASPNET]。ASP.NET MVC站點需要什麼SQL Server(Express)登錄?

問題

  1. 這方面的要求同樣爲ASP.NET MVC?如果不是,我需要什麼?
  2. 這與我使用的SQL Server版本有關係嗎? (目前,我正在運行SQL Server Express 2005,但未來可能會發生變化。)
  3. 這與我正在運行的IIS版本有關係嗎? (目前,我在Windows XP下運行IIS 5.1,但將來可能會更改)。

回答

2

MVC與它無關。您的ASP應用程序將使用運行ASP站點的應用程序池的標識連接到SQL Server。請參閱:

下通過內置網絡服務帳戶運行默認的應用程序池。當本地連接到同一主機上的SQL Server時,NETWORK SERVICE自身進行身份驗證,您需要爲其授予登錄權限,但是當它遠程連接到不同主機上的SQL實例時,NETWORK SERVICE會將其自身認證爲主機帳戶('domain \ machinename $')並且該帳戶需要被授予登錄權限。

另一個難題是知道ASP應用程序是否模擬HTTP請求。發生模擬時,將嘗試在原始請求主叫方標識下進行連接。當SQL服務器位於不同的主機上時,ASP應用程序還必須將模擬的上下文進一步委派給SQL Server,並且爲了這樣做,必須將它信任爲受約束的委託How To: Use Protocol Transition and Constrained Delegation in ASP.NET 2.0

最終,應用程序池標識受您控制並且您有責任正確設置。無論ASP池具有什麼身份,都必須在SQL Server上授予登錄權限。 MVC只是一個加載在ASP應用程序中的庫,並不會改變安全要求。

0

我認爲這取決於您的連接字符串。你需要添加你連接的任何東西。

+0

我的連接字符串沒有指定用戶名。它使用集成安全性。 – devuxer

1

ASP.NET和ASP.NET MVC站點的要求是相同的。如果他們使用相同的數據庫連接方法(字符串),他們的要求是相同的。

另請注意,如果您移至IIS6或IIS7,則您提供的id將同時針對ASP.NET和ASP.NET MVC網站進行更改。

0

以下是您需要做的事情。

安裝SQL Server Express 2005.您將需要SQL Server 2005 Management Studio和SQL Server表面區域配置。在排除 連接時,這些工具將派上用場。 「成功」安裝將提供以上兩種。

啓動SQL Server Express 2005 Management Studio。查找服務器類型:數據庫引擎 和服務器名稱:。\ SQLEXPRESS。在安裝過程中請牢記。\ SQLEXPRESS值可能會將您的計算機名稱作爲前綴ie。丹\ SQLEXRESS。複製此值並將其粘貼到您的MVC項目中的web.config文件中 - connnectionstring = data source = dan \ SQLEXPRESS。

至於ASP.NET MVC - 安裝3.5框架並安裝ASP.NET MVC版本1. 確保在新的MVC項目下選擇了3.5框架。運行項目 將啓動內置的cassini Web服務器(不是IIS)。

在應用程序中 - 註冊自己。驗證您的項目中的app_data文件夾下的 看看是否創建了新的.mdf文件。該文件由第一個用戶創建。

引用ScottGu - 希望這有助於!新年快樂 !

相關問題