C# 将表单身份验证用户与模型关联
我正在为.NETMVC3项目使用表单身份验证。我也在为此使用EntityFramework。用户处理非常简单。尽管问题是,如何将用户与模型关联 假设我有一个简单的post模型:C# 将表单身份验证用户与模型关联,c#,asp.net-mvc,asp.net-mvc-3,authentication,C#,Asp.net Mvc,Asp.net Mvc 3,Authentication,我正在为.NETMVC3项目使用表单身份验证。我也在为此使用EntityFramework。用户处理非常简单。尽管问题是,如何将用户与模型关联 假设我有一个简单的post模型: public class Post { public int ID { get; set; } public string Title { get; set; } public string Text { get; set; } public DateTime Updated { get;
public class Post
{
public int ID { get; set; }
public string Title { get; set; }
public string Text { get; set; }
public DateTime Updated { get; set; }
//public MembershipUser Author { get; set; }
}
注意作者字段。如何将用户链接到它?我正在使用nHydrate和EF进行MVC3项目。在努力让MembershipUser和MembershipProvider使用nHydrate框架之后,我突然意识到我真的没有特别需要使用ASP.NET成员资格。。。东西最后,在我编写的数据层中只包含我自己的身份验证方法要简单得多
所以,FWIW,也许值得你问问自己为什么需要使用内置的会员资格。。。东西如果您没有绑定到遗留系统中,您可能会发现它并没有为您购买那么多。我假设您的
Post
对象是一个视图模型
创建一个展平的User
对象,该对象包含视图所需的用户信息。如果您正在创建一个post视图,如stackoverflow上的视图,这可能看起来像:
public class User{
public string DisplayName {get;set;}
public string AvatarUrl{get;set;}
public int Reputation {get;set;}
public int GoldBadges{get;set;
public int SilverBadges{get;set;
public int BronzeBadges{get;set;
}
然后将该属性添加到视图模型中
在进行身份验证(如登录)的情况下,可能需要单独的输入模型,如:
public class LogonModel{
public string Username{get;set;}
public string Password{get;set;}
public bool RememberMe{get;set;}
}
从输入模型到您的MembershipUser
的所有绑定都可以在ModelBinder中进行,您的实际业务逻辑应该在控制器中进行