【问题标题】:membership with custom table in asp.net mvc在 asp.net mvc 中具有自定义表的成员资格
【发布时间】:2012-12-18 19:09:45
【问题描述】:

我正在尝试将我的 vb.net 2010 Web 表单应用程序转换为 C# MVC 4 应用程序。由于我的会员资格已经设置,我宁愿继续使用会员资格提供程序而不是 simplemembershipprovider。 你好,

我正在使用 PluralSight 学习 MVC,但一直找不到任何关于如何将会员代码转换为 mvc 的参考。

我有一个通过 UserID 链接到 mememberships User 表的自定义表。这个自定义表 asp_customUser 存储有关用户的其他信息。

在帐户控制器中,有一个注册操作,带有视图和模型。注册过程不处理角色,更不用说我的自定义数据了。

我想知道的是,当注册视图中的部分字段来自会员库而另一部分进入我的自定义表时,我如何将角色和自定义用户信息添加到数据库中。

谢谢

【问题讨论】:

    标签: asp.net-mvc asp.net-membership


    【解决方案1】:

    是的,您可以使用旧会员资格。只需将您的会员资格提供商从旧的 web.config 复制并粘贴到新的。

    如果它在另一台计算机上运行,​​您可能需要设置机器密钥,以便它能够正确验证密码哈希。

    然后,您将从 Account 控制器中删除简单成员资格初始化属性,并且您需要删除所有其他简单成员资格代码。您还将放弃 OpenId 身份验证,因为普通成员资格不适用于 WebSecurity,因此您还必须删除所有这些。

    【讨论】:

    • 我已经转移了代码并取出了简单会员,但是如何将会员与我的桌子结合起来。 MVC 需要分离,所以我不确定如何用这个模型实现这两者。我应该创建一个新控制器,然后在创建用户后将其余信息保存在其他地方吗?我是否需要将帐户控制器与自定义帐户控制器分开。如果是,我怎样才能让它们相互交互?谢谢,我希望从那时起。
    • @SheriTrager - 我不明白您所说的“将会员资格与桌子结合”是什么意思。你说你已经在使用这个数据库了,应该不需要改变任何东西。
    • 对不起,我不清楚这一点。很难解释。使用会员提供者,注册信息会自动保存,即这些表都不在实体中。由于我在保存注册信息时需要保存其他信息,我如何捕获该信息。我是否将附加字段添加到注册视图并将它们添加到模型中?新用户注册时如何保存附加信息。我希望这更清楚。非常感谢您的帮助。
    • @SheriTrager - 与您在 Web 表单中的操作方式相同,成员身份的工作方式完全相同。如果要注册新用户,为什么要使用旧的会员系统?您已经注册了用户。
    • 我需要使用数据库中现有的成员表。我在某处读到 simplemembership 不使用相同的表。在我的 Web 表单应用程序中,我在几个地方使用成员资格提供程序来访问数据。如果我可以使用简单的成员资格,那就太好了,因为在复数视觉上有一个例子。
    【解决方案2】:

    当我们想要扩展成员资格类时,我们继承了基本成员资格类并使用其中的所有字段和链接到它的表,然后创建一个附加的数据库表,其中 FK 链接到成员资格表中的 id。新表和扩展类中的任何附加参数以及任何标准参数都在标准成员表和标准类中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 2011-04-12
      相关资源
      最近更新 更多