gpt4 book ai didi

asp.net-mvc-4 - 代码优先成员(member)提供商

转载 作者:行者123 更新时间:2023-12-02 22:14:45 25 4
gpt4 key购买 nike

如何先使用代码将 EF 5.0 与成员资格提供程序集成?

我有自己的数据库架构,我想将其用于用户注册等。

最佳答案

你应该看看 SimpleMembershipProvider

它与 EF 一起使用非常容易。

更新

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

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

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "Users", "Id", "UserName", true);

它将连接字符串的名称、表、唯​​一标识符列和用户名列作为参数。

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

[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 值,如果为真,则登录成功。

在 Web.config 中,您不需要像使用默认 ASP.NET 成员资格一样定义 membershipProvider。

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

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 });

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

关于asp.net-mvc-4 - 代码优先成员(member)提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14672205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com