简单成员资格帐户未写入数据库

本文关键字:数据库 成员 简单 | 更新日期: 2023-09-27 18:30:38

我正在尝试在4.0 MVC4网站上设置简单会员资格。我正在本地计算机上使用 SQLexpress 实例进行开发。

当我第一次点击 [授权] 操作时,我的默认连接字符串用于写入表。登录操作似乎命中数据库并返回不正确的用户名或密码错误。由于数据库中没有任何内容,因此所有条目都将不正确。

我认为问题出在提供者身上。我用来编写第一个凭据的 ASP.NET 配置工具告诉我默认提供程序是 AspNetSqlProvider。我尝试在 Web 配置文件中设置一个成员资格部分,清除该默认值并使 sqlmemberprovider 成为默认值。这会导致各种各样的错误,配置工具告诉我它无法连接到提供程序,调试器在 InitializeSimpleMemberAttributes 上停滞不前,确保初始化过滤器,这会阻止第二次创建表。

我将不胜感激。

简单成员资格帐户未写入数据库

ASP.Net 配置工具用于完整的 ASP.Net 成员资格服务,而不是简单成员资格表。 如果要将用户添加到简单成员资格,只需使用 SQL Management Studio 直接在表中添加用户。 如果修改更复杂的 ASP.Net 成员资格服务的提供程序,将使简单成员资格变得毫无用处。

来自 ASP.Net 博客

WSAT 旨在使用 ASP.NET 成员资格,与简单成员资格不兼容。那里有两个主要选项:

  1. 使用 WebSecurity 和 OAuthWebSecurity API 来管理用户和角色。
  2. 使用上述 API 创建 Web 管理员。

由于 SimpleMembership 在数据库上运行,因此您可以像更新任何其他数据一样更新用户 - 通过 EF 甚至直接数据库编辑(当然,在开发中)