Asp.net mvc 4 代码优先成员资格提供程序

Asp.net mvc 4 代码优先成员资格提供程序,asp.net-mvc-4,code-first,entity-framework-5,membership-provider,simplemembership,Asp.net Mvc 4,Code First,Entity Framework 5,Membership Provider,Simplemembership,如何首先使用代码将EF 5.0与会员资格提供商集成 我有自己的数据库模式,我想用于注册用户等。 这实际上与EF无关 EF只是一种读取数据的方法 另请参见表单身份验证 你应该看看 它很容易与EF一起使用 更新 对于MVC4,我将从空白模板开始。 您需要WebSecurity.InitializeDatabaseConnection来设置数据库 WebSecurity.InitializeDatabaseConnection("DefaultConnection", "Users", "Id", "

如何首先使用代码将EF 5.0与会员资格提供商集成

我有自己的数据库模式,我想用于注册用户等。

这实际上与EF无关

EF只是一种读取数据的方法

另请参见表单身份验证
你应该看看

它很容易与EF一起使用

更新

对于MVC4,我将从空白模板开始。

您需要
WebSecurity.InitializeDatabaseConnection
来设置数据库

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "Users", "Id", "UserName", true);
它将connectionstring、表、唯一标识符列和username列的名称作为参数

我用于上面这段代码的模型是:

[Table("Users")]
public class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public string UserName { get; set; }

    public string Email { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }
}
要让某人登录,请执行以下操作:

 WebSecurity.Login(aUsername, aPassword);
上面的方法返回bool,如果为true,则表示登录成功

在Web.config中,您不需要像使用默认ASP.NET成员身份一样定义成员身份提供程序

如果您需要访问提供商(删除帐户):

用于创建新用户(在本例中使用我的给定模型)


好处是,您现在可以将其他EF类的模型用作外键,而无需在使用普通asp.net成员身份时麻烦地执行此操作。:-)

您好,如果您使用MVC4 internet应用程序模板。为了使用您的数据库模式/EF模型,您会修改什么?+1好的一点,创建一个MVC4 internet app类型的新项目。这是在web.config中开始“设置”的好地方。我更新了我的答案。就我个人而言,我会选择一个空白模板,因为大多数时候我都会从默认的internet模板中删除很多内容,因为我不需要它,或者我需要将它移动到其他类/名称空间,这样我自己就可以更快地完成它:)嗨,你的用户表,这是自动生成的代码还是你自己创建的?我不小心把它评论给了soadyp,而不是你。我确实是由myselfHi创建的,我也需要编写数据,这会改变事情吗?不,你需要调查Simpla成员身份/自定义成员身份实现docuHi,你的用户表,是自动生成的代码还是你自己创建的?
var provider = (SimpleMembershipProvider) Membership.Provider;
provider.DeleteAccount(aUsername); // Delete the account
provider.DeleteUser(aUsername, true); // delete the user and its data
WebSecurity.CreateUserAndAccount(aUsername, aPassword, new { Email = aEmail, FirstName = aFirstName, LastName = aLastName });