首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >code first成员提供程序

code first成员提供程序
EN

Stack Overflow用户
提问于 2013-02-03 19:57:33
回答 2查看 2.3K关注 0票数 2

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-03 20:09:00

你应该看看SimpleMembershipProvider

它很容易与EF一起使用。

更新

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

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

代码语言:javascript
复制
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "Users", "Id", "UserName", true);

它将连接字符串的名称、表、唯一标识符列和username-column作为参数。

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

代码语言:javascript
复制
[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; }
}

要登录某人,请执行以下操作:

代码语言:javascript
复制
 WebSecurity.Login(aUsername, aPassword);

上面的方法返回一个布尔值,如果为true,则登录成功。

在Web.config中,you do not需要定义一个membershipProvider,因为它具有默认的ASP.NET成员资格。

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

代码语言:javascript
复制
var provider = (SimpleMembershipProvider) Membership.Provider;
provider.DeleteAccount(aUsername); // Delete the account
provider.DeleteUser(aUsername, true); // delete the user and its data

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

代码语言:javascript
复制
WebSecurity.CreateUserAndAccount(aUsername, aPassword, new { Email = aEmail, FirstName = aFirstName, LastName = aLastName });

好处是,您现在可以将您的模型用作其他EF类的外键,而不需要在使用普通asp.net成员资格时遇到麻烦。:-)

票数 5
EN

Stack Overflow用户

发布于 2013-02-03 20:08:36

http://msdn.microsoft.com/en-us/library/f1kyba5e

这实际上与EF无关。

EF只是一种读取数据的方式。

另请参阅FORMS身份验证http://support.microsoft.com/kb/301240?wa=wsignin1.0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14672205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档