在我的应用程序中,我有一个可以创建Tournament
个对象的管理员。创建对象时,该服务还会创建一个用户(基于锦标赛创建者在创建时输入的信息)。用户的用户名是导演的电子邮件,密码随机生成,然后邮寄给导演。
当导演使用他的电子邮件地址和密码登录时,我需要能够将他链接到他自己的锦标赛,以便只允许他编辑他自己的锦标赛的详细信息。我试图找到一种方法将TournamentId
存储在默认的ASP Net Users数据库中,但是没有成功。
我看了this这个问题肯定会对我有所帮助,但我无法弄清楚它是如何适用于我的问题的。当用户登录时,我无法将TournamentId
放入用户数据中,因为我不知道。
我是否应该在Tournament
表中查找哪个ID与登录时输入的电子邮件地址相对应并将其存储在userData中?这种方式似乎很不优雅。
答案 0 :(得分:1)
我猜你应该在锦标赛表中有一个CreatedBy列,你可以在其中存储创建锦标赛的用户的ID。然后,当用户登录时,获取他的id(可能来自会话,如果你将其存储在那里),执行选择查询where CreatedBy=loggedInUserId
。这应该可以解决问题。