ASP.Net 成员资格 SQL Server

Posted

技术标签:

【中文标题】ASP.Net 成员资格 SQL Server【英文标题】:ASP.Net Membership SQL Server 【发布时间】:2011-10-29 01:01:53 【问题描述】:

我刚刚在测试服务器上运行了 aspnet_regsql 工具并设置了 aspnetdb。我已经在 web.config 中设置了 Membership 内容,我正在尝试通过 Visual Studio 2008 中的“Project -> ASP.net Configuration”菜单项来管理它。

前几页拉得很好——默认页和安全页。它显示我有 0 个用户和 0 个角色。我能够单击“启用角色管理器”或它所说的任何内容。在我的连接字符串中,我以 sa 用户身份连接。

当我单击“创建或管理角色”时,我收到一条错误消息:“与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问该服务器。”等等,关于如何可能无法访问服务器。

嗯,我认为它能够访问服务器,因为它显示我有 0 个用户和角色。如果无法到达那里,根据以往的经验,它将显示空白而不是 0。

我知道 SQL 中安装了许多存储过程和函数来支持成员资格,那么 sa 用户是否可能没有执行这些事情的权限?我将如何检查?我真的不擅长 SQL 安全性,我使用 SA 用户名和密码就证明了这一点。

有什么想法吗?

【问题讨论】:

我刚刚找到了答案。 forums.asp.net/t/978442.aspx/1 在页面的大部分位置,这是您需要在 web.config 中包含的代码 只是一个想法,如果您已经解决了您的问题,请将其发布为答案并接受它。否则会浪费时间,因为我阅读了你的整个问题,然后你在下面的评论才知道你不再需要答案了.. 或者干脆删除你的问题 > "In my connection string I'm connecting as the sa user." 请不要这样做,即使是为了开发。 【参考方案1】:

根据我的经验,这件事是不可能的。但如果你坚持,你可以自己检查。

检查 sa 用户是否拥有 ASPNETDB 所有者权限(默认情况下 sa 用户拥有所有数据库所有者权限)

祝你好运

【讨论】:

谢谢阿里——你是对的,这是不可能的。我发布了我在网上找到的答案——我没有指定角色管理器,或者至少不正确。【参考方案2】:

http://forums.asp.net/t/978442.aspx/1

页面的大部分内容,这是您需要在 web.config 中包含的代码

<roleManager enabled="true" defaultProvider="SqlRoleProvider">
    <providers>
        <clear/>
        <add name="SqlRoleProvider" applicationName="TestItAll" connectionStringName="aspnetdbConnectionString" type="System.Web.Security.SqlRoleProvider"/>
    </providers>
</roleManager>

【讨论】:

以上是关于ASP.Net 成员资格 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据库从 SQL 服务器迁移到 SQL Azure,其中包含带有数据的 asp.net 成员资格提供程序

ASP.NET MVC 和 ASP.NET 成员资格模板提供程序

ASP.NET:对 ASP.NET 成员资格提供程序的完全控制

实体框架代码优先和 ASP.NET 成员资格

如何为 ASP.NET MVC 2 创建自定义成员资格提供程序?

oAuth ASP.NET 成员资格提供程序