Md.*_*man 23 c# asp.net-mvc membership-provider asp.net-mvc-4
我是ASP.NET MVC4的新手.我正在创建一个空的MVC4项目模板,并尝试添加ASP.NET成员资格提供程序,但我不知道我该怎么做.我在谷歌搜索,但所有演示都使用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();
}
}
Run Code Online (Sandbox Code Playgroud)
我还在Web.config文件中添加了以下指令:
<add key="enableSimpleMembership" value="true" />
Run Code Online (Sandbox Code Playgroud)
Jup*_*aol 31
您需要添加以下Nuget包:
Microsoft.AspNet.WebPages.OAuth
注意:此包将自动为您安装所有必需的依赖项.这是安装的所有nuget包的详细列表:
添加引用
现在,为了测试它,将以下内容添加到web.config文件(下system.web
):
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
添加以下连接字符串
<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>
Run Code Online (Sandbox Code Playgroud)
我所做的是从Internet模板复制控制器,模型,过滤器和视图,只需修改命名空间等内容,直到你启动并运行
这是结果(没有样式)
登录前
注册
登录