我目前正在使用ASP.NET中的网站,其中需要登录系统。但是,在错误地假设角色数据库的连接字符串与我的Microsoft SQL数据库的连接字符串相同时,我意识到我不知道角色数据库的位置。我在我的计算机上搜索了类似于角色数据库(搜索角色和.mdf)的内容,但没有发现任何我可以识别的内容。你知道我在这里犯的错误吗?我是否必须专门创建此角色数据库?到目前为止,我的web.config代码读作(没有在顶部识别连接字符串):
<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>
提前感谢您提供的任何帮助!
答案 0 :(得分:2)
如果指定相同的数据库连接字符串,则ASP.Net成员资格不会创建单独的数据库。
您正在采取的方式是正确的,它将用户,角色,成员资格表保存在表所在的同一数据库中。
仅供参考:如果您的应用是新的,请使用Universal Providers替换旧的ASP.Net会员(您当前正在使用的会员)
答案 1 :(得分:1)
有一个名为aspnet_regsql.exe
的可执行文件需要运行才能创建成员资格模式。关注this tutorial
然而,就像@Win所说,这是一个旧的。如果您使用VS2012进行开发,请使用Universal Providers。