如何在空的MVC 4项目模板中添加ASP.NET成员资格提供程序?

问题描述 投票:23回答:4

我是ASP.NET MVC4的新手。我正在创建一个空的MVC4项目模板,并尝试向其中添加ASP.NET成员资格提供程序,但我不知道该怎么做。我正在Google搜索,但所有演示都使用Internet应用程序项目模板。

我知道这个问题不好,但是我已经花了两天的时间。

为此,请提供一些建议或教程。

更新

根据Nesim Razon的建议,我从MVC4 Web应用程序(Internet应用程序模板)将表单身份验证部分复制并粘贴到我的空项目中。但是现在我有一个例外

要调用此方法,“ Membership.Provider”属性必须是“ ExtendedMembershipProvider”的实例。

[InitializeSimpleMembership]
public class HomeController : Controller
{

    public ActionResult Index()
    {
        WebSecurity.CreateUserAndAccount("Name", "Password"); // Exception is thrown from there.
        return View();
    }

}

我还在Web.config文件中添加了以下指令:

<add key="enableSimpleMembership" value="true" /> 
c# asp.net-mvc asp.net-mvc-4 membership-provider
4个回答
31
投票

安装它

您需要添加以下Nuget软件包:

添加参考

  • System.Transactions

测试中

现在为了对其进行测试,将以下内容添加到web.config文件中(在system.web下:]

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

添加以下连接字符串

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-UnitTestQueries.UI-20121105001038;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-UnitTestQueries.UI-20121105001038.mdf" providerName="System.Data.SqlClient" />
  </connectionStrings>

而且我所做的是从Internet模板复制控制器,模型,过滤器和视图,并仅修改名称空间等内容,直到您启动并运行它为止

这是结果(无样式)

登录前

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS96T0cyZy5wbmcifQ==” alt =“在此处输入图像描述”>

正在注册

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9wakt0eS5wbmcifQ==” alt =“在此处输入图像描述”>

已登录

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS94TnR0Ri5wbmcifQ==” alt =“在此处输入图像描述”>



0
投票

如果要使用通用提供程序而不是MVC 4 Internet模板中包含的简单成员身份,则可以使用移动模板创建一个新的MVC 4项目,并复制Account controller +视图,并使用以下命令更新web.config正确的connectionString和Forms Auth部分,您应该会很好。


0
投票

ASP NET MVC 5 Web应用程序中的简单成员资格

https://www.youtube.com/watch?v=BsKcVbsMn6w

一旦开发项目,在项目中实施用户身份验证确实很困难。在此视频中,我演示了如何从一开始就没有实现身份验证的项目中有效利用Microsoft简单成员资格功能。借助于此,您可以在项目的任何阶段实施身份验证功能。

© www.soinside.com 2019 - 2024. All rights reserved.