【问题标题】:MVC 4 Membership Extra Fields?MVC 4 成员资格额外字段?
【发布时间】:2012-09-27 19:33:57
【问题描述】:

如果有人能指出正确的方向,我将不胜感激。

我是 MVC 4 中的 Membership 新手,我在 Google 中找到的大多数链接都是针对 MVC3 的。

如何存储用户信息?在默认数据库中有一个 UserName 字段。我可以添加额外的字段(电话号码、昵称等)还是创建一个 MyUser 类并以某种方式将 ID 链接到 Membership 中的 UserId?

非常感谢!!!

【问题讨论】:

标签: c# entity-framework-4 asp.net-membership asp.net-mvc-4


【解决方案1】:

MVC4 使用 SimpleMembership。这与传统的会员制度有很大的不同。

它的工作方式是您创建自己的用户表,然后告诉 SimpleMembership 您的用户表中的哪些字段用于它自己的目的。

如果您查看 Filters/InitializeSimpleMembershipAttribute.cs,您会在 SimpleMembershipInitializer 类中找到如下所示的一行。

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", 
   "UserId", "UserName", autoCreateTables: true);

在这里,您更改字段“UserProfile”以匹配您的表名,“UserId”以匹配您的 UserId 列名,以及“UserName”以匹配您的用户名字段。

然后,您可以简单地将您想要的任何其他字段添加到此表中。

这里的问题是你犯了很多人都会犯的错误。会员资格与登录凭据无关。而已。它不关心其他字段,您将它们放在自己的数据库中并根据用户ID查找它们。

【讨论】:

  • 好的,会员不关心额外的字段。那么在调用InitializeDatabaseConnection之后如何以正确的方式添加它们呢? (请提供一个例子)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多