2017-07-31 119 views
0

就像標題所說,我正在嘗試爲我正在創建的網站創建一些角色。無法連接到ASP.NET Web管理工具中的SQL Server數據庫

只要我進入安全選項卡,就會顯示標題中的錯誤。

我已經使用aspnet_regsql嚮導爲此目的配置數據庫。數據庫的創建是成功,但我仍然得到錯誤。

這裏是webconfig至今:

<?xml version="1.0"?> 
<configuration> 
<configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 

</configSections> 
<entityFramework> 
    <contexts> 
    <context type="ContosoUniversity.DAL.SchoolContext, ContosoUniversity"> 
    <databaseInitializer type="ContosoUniversity.DAL.SchoolInitializer, ContosoUniversity" /> 
    </context> 
    </contexts> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
    <parameters> 
    <parameter value="v11.0" /> 
    </parameters> 
    </defaultConnectionFactory> 
    <providers> 
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
</entityFramework> 
    <connectionStrings> 
    <add name="SchoolContext" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=ContosoUniversity1;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
    <appSettings> 
    <add key="webpages:Version" value="3.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Optimization"/> 
    <add namespace="System.Web.Routing" /> 
    <add namespace="TESTMVC" /> 
    </namespaces> 
    </pages> 
</system.web.webPages.razor> 


<system.webServer> 
    <handlers> 
    <remove name="BlockViewHandler"/> 
    <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
</system.webServer> 

    <system.web> 
    <compilation> 
    <assemblies> 
    <add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </assemblies> 
    </compilation> 

</system.web> 
</configuration> 

我知道我可能錯過了一些會員標籤在這個XML? 任何人都可以幫我修復webconfig文件嗎?

此連接字符串用於顯示此數據庫中某些內容的頁面。在這個保存(localdb)\ MSSQLLocalDB我有由嚮導aspnet_regsql所做的aspnetdb。

<connectionStrings> 
    <add name="SchoolContext" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=ContosoUniversity1;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
+0

爲什麼你想要使用'aspnet_regsql'創建ASP.NET成員資格?這是一個非常古老的,微軟已經幾次用新的取代它。 – Win

+0

@Win這是我能在他們的網站上找到的最好的。任何建議? – LexByte

回答

0

隨着Integrated Security=SSPI,我相信你要連接到SQL Server的任何賬戶的網站正在運行,有可能一個應用程序池標識帳戶。您應該在SQL創建一個用戶,並明確使用這些憑據連接,或添加應用程序池身份的權限:

對於本地的SQL Server(從https://blogs.msdn.microsoft.com/ericparvin/2015/04/14/how-to-add-the-applicationpoolidentity-to-a-sql-server-login/):

  • 打開SQL Server Management Studio中(SSMS)並連接到SQL Server。 在服務器級別打開安全性文件夾,而不是數據庫的安全性文件夾。
  • 右鍵單擊登錄名並選擇新登錄。
  • 對於登錄名,請輸入IIS APPPOOL \ AppPoolName並且不要單擊搜索並選擇確定(如果執行搜索,它將解析爲具有ServerName \ AppPool Name的帳戶,並且SQL將無法解析帳戶的SID,因爲它是虛擬的)
  • 選擇帳戶的默認值,然後選擇確定關閉對話框
1

基地您的評論你是新的ASP.NET成員資格。您提到的ASP.Net會員年齡超過10至15歲。微軟在那幾年已經取代了其他幾個。

這裏是歷史 -

  1. ASP.Net成員資格提供(使用aspnet_regsql生成表)
  2. ASP.NET通用提供商
  3. 簡單成員資格提供
  4. ASP.NET身份(最新的)

由於您也是ASP.Net會員新手,我個人推薦使用ASP。網絡身份。這裏是免費的ASP.NET MVC 5 Fundamentals course by Scott Allen

+0

是的,我一般都是ASP.NET新手。感謝您的信息和鏈接。我會仔細看看的。 – LexByte

相關問題