找不到角色数据库

问题描述:

我目前正在ASP.NET中的一个网站上工作,其中需要登录系统。但是,如果错误地假设角色数据库的连接字符串与我的Microsoft SQL数据库的连接字符串相同,我意识到我不知道角色数据库在哪里。我在计算机上搜索了一些类似于角色数据库(搜索角色和.mdf)的东西,但没有发现任何可以识别的东西。你知道我在这里犯了什么错误吗?我必须专门创建这个角色数据库吗?提前找不到角色数据库

<system.web> 
    <compilation debug="true" targetFramework="4.5"/> 
    <httpRuntime targetFramework="4.5"/> 
    <roleManager enabled="true" defaultProvider="providerForLogin"> 
     <providers> 
     <add name="providerForLogin" type="System.Web.Security.SqlRoleProvider" applicationName="WebSite4" connectionStringName="ConnectionString" /> 
     </providers> 
    </roleManager> 
    </system.web> 
</configuration> 

感谢您的帮助,您可以给:到目前为止我的web.config代码读取如(无顶部个人识别连接字符串)!

+0

如果它们是*不同的数据库,那将会很奇怪。从外观上看,您使用的是标准的ASP.NET提供程序...所以请退后一步。你想做什么?如果您确实想要使用ASP.NET Membership Provider的路线..... http://msdn.microsoft.com/zh-cn/library/yh26yfzy(v=vs.100).aspx – Arran 2013-02-18 15:42:57

如果指定了相同的数据库连接字符串,则ASP.Net成员资格不会创建单独的数据库。

您所做的方式是正确的,它将用户,角色和成员资格表保存在您的表所在的同一数据库中。

FYI:如果你的应用是新的,请使用Universal Providers这是老ASP.Net成员替换(您当前使用的那个)

+0

Doing像这样的事情我最终与错误:“无法找到存储过程'dbo.aspnet_CheckSchemaVersion'”。我假设这是因为数据库尚未初始化或类似的东西?这与运行aspnet_regsql.exe有关吗? – 2013-02-18 16:04:07

+0

使用aspnet_regsql.exe创建成员资格表已过时。请使用使用NuGet的univeral providers(请参阅我的答案)。 – Win 2013-02-18 16:05:36

+1

+1感谢您的信息。 – AbZy 2013-02-18 16:20:25

还有就是你需要为运行名为aspnet_regsql.exe的可执行文件要创建的成员资格模式。按照this tutorial

然而,就像@Win说,这是一个旧的。如果您使用VS2012进行开发,请使用Universal Providers

+0

非常感谢!我正在寻找一个教程,教会我这个角色的事情! – 2013-02-18 16:07:35