我创建了一个默认的ASP.NET MVC 4项目,其中包含一个使用表单身份验证的帐户控制器。 现在,我想让用户帐户在给定的系统实例中不是唯一的(每个用户都有自己的SystemInstanceId),方式是:
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public int SystemInstanceId { get; set; }
}
在AccountController中,我使用以下代码,但它不能正常工作:
WebSecurity.CreateUserAndAccount(
model.UserName,
model.Password,
propertyValues: new { SystemInstanceId = systemInstanceRepository.GetCurrentSystemInstanceId(RouteSegmentHelpers.GetSystemInstanceSegment(RouteData)) }
);
上面的代码使我无法在数据库表中为两个不同的系统实例注册相同的用户名,因为我希望用户能够为不同的公司使用相同的登录。