如何在数据库中连接登录用户和用户记录
本文关键字:用户 登录 记录 连接 数据库 | 更新日期: 2023-09-27 18:04:13
我正在与ASP合作。. NET会员提供程序与SQL后端第一次,我遇到了一些气味,这告诉我,我要么做错了,或者只是没有想到它的所有方式…
Membership提供程序保存了一些表,包括默认的webpages_Membership
,它跟踪用户属性,如用户名。在应用程序的数据库中,我有一个employees
表,用于跟踪员工的所有用户数据。employees
表有一个唯一的标识符id
,它被用作多个其他表的外键列,以跟踪诸如谁更新了记录,创建了记录,分配给了谁,谁留下了评论等。
我所做的第一个假设是,我不想将业务逻辑和字段放在webpages_Membership
表中,也不想在外键关系中使用UserId
列。
我所做的第二个假设是我完全控制注册过程,我可以简单地根据电子邮件地址字段将webpages_Membership
表和employees
表连接在一起,因为用户的登录将被强制为他们的电子邮件。
这在我的脑海里闻起来很可怕…
取此值User.Identity.Name
并在我的数据库中查询employees
表,只是为了获得Employee
对象填充,因此我可以在记录上设置Id
字段,这似乎是错误的。
- 我该怎么做呢?
- 将成员数据和业务对象数据连接在一起的最佳方式是什么? 我应该这样做吗?
- 我应该在用户的会话中存储Employee对象,而不是为每个事务返回数据库吗?
哪个版本的ASP。你在用。NET吗?
因为如果你使用的是一些最新的版本,你可以使用SimpleMembershipProvider,它允许你使用不同的模型和数据库结构。
查看Jon Galloway的博客文章了解更多细节。