【问题标题】:Relating data to an ASP.NET Member将数据与 ASP.NET 成员相关联
【发布时间】:2012-06-29 06:04:15
【问题描述】:

我正在基于 ASP.NET Membership 进行我的第一个项目,但在弄清楚如何将我的自定义数据与特定成员相关联时遇到了问题。这里的约定是什么?

例如,我想制作一个网络应用程序,人们可以在其中对不同的事物进行投票。为了确保人们不会一遍又一遍地投票,我想跟踪谁对什么投票进行了投票。 (我提供了我的预期用途示例,但主要对通用实现感兴趣)

有没有人知道已经在线编写的指南或其他好的资源?

IF** 这是相关的,我正在使用 EF4 进行我的数据库访问(我不直接需要 EF 和/或数据库访问方面的帮助,只需要成员资格与其他数据的关系) .目前,由于 GoDaddy 在每个数据库上为我提供的空间,我正计划将成员资格存储在 MsSQL 中,并将其余数据存储在 MySQL 中。

【问题讨论】:

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


    【解决方案1】:

    您需要唯一标识当前登录的用户。您很可能想要使用MembershipUser.ProviderUserKey,这是MembershipProvider 的特殊风格提供的唯一标识符。对于SqlMembershipProvider,此属性的值为Guid

    因此您可以在投票记录中拥有一个属性,如下所示(假设您使用的是SqlMembershipProvider):

    public class Vote
    {
        public Guid UserId { get; set;  }
        // etc.
    }
    

    你可以这样获取当前用户的ID:

    Guid userId = (Guid)Membership.GetUser().ProviderUserKey;
    
    Vote vote = new Vote { UserId = userId };
    

    当然,在创建和保存新投票之前,您可以从这里查询以确保不存在 VotesUserId == userId

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 2012-09-27
      • 2017-10-20
      • 1970-01-01
      • 2019-03-09
      相关资源
      最近更新 更多