如何在空的MVC 4项目模板中添加ASP.NET Membership Provider?

23

我是ASP.NET MVC4的新手。我正在创建一个空的MVC4项目模板,并尝试将ASP.NET成员身份提供程序添加到其中,但是我不知道该如何做。我在谷歌上搜索,但所有演示都使用互联网应用程序项目模板。

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

请给予一些建议或针对此目的的教程。

更新

根据Nesim Razon的建议,我从MVC4 Web应用程序(互联网应用程序模板)中复制并粘贴表单验证部分到我的空项目中。但现在我遇到了异常。

  

调用此方法时,“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" /> 

2
为什么不创建一个MVC4 Web应用程序(Internet应用程序模板),然后将相关的表单身份验证部分复制粘贴到您的空项目中呢? - Nesim Razon
我正在尝试使用内置提供程序,该提供程序用于MVC4 Web应用程序(Internet应用程序模板)。 - Hasanuzzaman
1
那将是 SimpleMembership,它有一些依赖关系,在空项目中解决起来有点麻烦。为什么不创建一个默认的 Web 项目,然后删除你不需要的部分呢? - Tieson T.
你能告诉我有哪些依赖关系吗? - Hasanuzzaman
只是想澄清一下,您想使用哪个提供程序 SimpleMembershipProvider(用于使用OAuth之类的东西)还是传统的遗留 SqlMembershipProvider - Jupaol
显示剩余2条评论
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>

我的做法是从互联网模板中复制控制器、模型、过滤器和视图,然后修改名称空间等内容,直到它能够正常运行。

这是结果(没有样式)

登录前

输入图像描述

注册

输入图像描述

已登录

输入图像描述



0

ASP.NET MVC 5 Web应用程序中的简单会员身份验证

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

在项目开发完成后实现用户身份验证确实很困难。在这个视频中,我演示了如何有效地利用Microsoft Simple Membership功能,在那些没有从一开始就实现身份验证的项目中。借助此功能,您可以在项目的任何阶段实现身份验证功能。


由于OP指定了MVC 4,这仍然适用吗?请指定与您在此视频中的过程所需的任何差异,或直接解决兼容性问题。 - mwotton
链接已失效! - Nuhman

0
如果您想使用通用提供程序而不是包含在MVC 4 Internet模板中的简单成员资格,您可以使用移动模板创建一个新的MVC 4项目,并复制帐户控制器+视图,还要使用正确的connectionString和Forms Auth部分更新web.config文件,然后您就可以开始了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接