ASP.NET MVC 5 中的会员资格提供程序

本文关键字:程序 MVC NET ASP | 更新日期: 2023-09-27 18:31:58

我有一个项目,我正在 ASP.NET MVC 5中工作,但它需要使用 ASP.NET 成员资格(而不是身份)。

我找不到太多关于如何完成这项工作的材料。我运行了aspnet_regsql,它在我正在使用的数据库中创建了所有必要的表。当我使用 DB 优先时,我使用这些表更新了 MVC 应用程序中的模型。所以所需的表就在那里。

我接下来应该做什么?

ASP.NET MVC 5 中的会员资格提供程序

您需要

确定所需的成员资格提供程序并在 Web.Configuration 中进行配置。

因此,假设我们使用的是MS SQL Server和SQL成员资格提供程序,您将需要类似于Web.Config的system.web部分中的以下示例:

<membership defaultProvider="MembershipProvider" userIsOnlineTimeWindow="15">
  <providers>
    <clear />
    <add name="MembershipProvider" 
          type="System.Web.Security.SqlMembershipProvider"  
          connectionStringName="SqlConnection" 
          applicationName="MyApplication" 
          enablePasswordRetrieval="false" 
          enablePasswordReset="true" 
          requiresQuestionAndAnswer="false" 
          requiresUniqueEmail="true" 
          passwordFormat="Hashed" 
          minRequiredNonalphanumericCharacters="0"  />
  </providers>
</membership>
您需要确保

所有设置都符合您的要求,具体而言,您需要确保在 Web.Config 中声明的连接字符串的名称与为 connectionStringName 属性指定的名称相同。该连接字符串必须有权访问并指向使用 aspnet_regsql 创建的数据库表。

从这里开始,它应该只是使用 System.Web.Security 命名空间中的 Membership 类的情况。例如,控制器操作中使用的以下代码应提取当前登录的用户:

MembershipUser user = Membership.GetUser();