我正处于一个新的ASP.NET MVC应用程序的规划阶段,其中一个要求是存储一些不属于ASP.NET MVC附带的User类中标准集的用户信息.我想这归结为两个问题.
1)我可以编辑正在使用的类来存储我需要的信息吗?
2)如果我自己滚动,如何使用User.IsAuthenticated方法来锁定某些视图时,如何保持像验证一样的东西呢?
我考虑过的另一种替代方法是使用按原样提供的User类,而是将其他信息放在一个单独的表中,并将guid userid作为外键.
建议?
解决方法
配置文件是@Burt说的一个选择,提供了很大的灵活性.
我也有类似的跟踪员工信息的需求,但是我选择滚动我自己的员工类,并与标准用户建立关系.我真的很喜欢这样做,因为我可以将任何员工的业务逻辑与User类成员资格系统分开.
由于不是每个用户都将被绑定到一个员工,所以这对我来说更为有道理.它可能不适合你,但它是一种替代方案.
所以,我有这样的东西:
public class Employee { public Employee(string name) : this() { Name = name; } public virtual string Name { get; set; } public virtual string Title { get; set; } public virtual decimal Salary { get; set; } public virtual decimal Hourly { get; set; } public virtual decimal PerDiem { get; set; } public virtual string StreetAddress { get; set; } public virtual Guid UserId { get; set; } public virtual MembershipUser User { get { // note that I don't have a test for null in here,// but should in a real case. return Membership.GetUser(UserId); } } }