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 成员资格提供程序的完全控制