2017-07-31 77 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

相关问题