0

我在 c# MVC 中使用它。我正在为具有以下字段的用户创建一个注册屏幕

   UserName,Password,Role,Location

角色可以是“管理员”或“用户” 。

位置,可以是“纽约”或“芝加哥” 。

用户填写表格并单击提交后,我有以下代码:

     .....
     .....
     MembershipCreateStatus createStatus;
     Membership.CreateUser(model.UserName, model.Password, null, null, null, true, null, out createStatus);

    if (createStatus == MembershipCreateStatus.Success)
    {
       FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
       Roles.AddUserToRole(model.UserName, model.Role);
       return RedirectToAction("Index", "Home");
    }

正如您在上面看到的,我已经负责创建用户并为该用户提供角色。我不确定如何将位置与用户和角色联系起来。Location 将进入哪个 aspnet 表?有没有一种方法已经可以处理这样的事情?

4

2 回答 2

0

如果您拥有的唯一额外信息是位置,那么这可能有点矫枉过正,但我​​认为您最好的朋友是个人资料提供者。看看这个链接。您可以为给定用户定义自己的信息。

于 2013-01-15T20:52:52.637 回答
0

1:可以使用内置的ASP.NET Profile来存储自定义用户信息

2:为了更加定制化并更好地控制数据操作,您必须创建一个单独的表来存储其他用户详细信息。类似的东西。

3:如果你认为永远只有一个字段,最奇怪的方法是使用MembershipUser 的Comment 属性。虽然不确定它如何最适合您的需求。

于 2013-01-15T21:58:29.313 回答