3

我想创建一个仅供员工在内部使用的网络应用程序(网站)。

我想使用活动目录成员 IP 提供程序来验证用户。令我困惑的是如何管理配置文件和角色,以及如何将具有 FK 的用户链接到其他表。

到目前为止,我正在考虑做这样的事情,但不确定它是否可能?

  • 使用 Windows 身份验证(在 web.config 中设置)
  • 使用 activedirectorymembership 提供程序 + sqlmembership 提供程序?
  • 在用户第一次访问网站时注册用户(从 AD 获取他们的电子邮件、姓名等,并在代码中创建用户并添加到 sql db)
  • 每次他们重新访问该站点时,检查数据库是否存在用户,如果存在,则登录,如果不存在,则在 sqlmembership 中创建一个新用户。
  • 对于所有其他表,使用 Aspnet_User 中的用户 ID 作为其他表中的 FK

这甚至会起作用吗?还是有更好的明显方法来做到这一点?

谢谢

4

2 回答 2

1

使用 ActiveDirectory 成员资格提供程序时,您是根据 Active Directory 对用户进行身份验证 - 不涉及单独的成员资格数据库(用户帐户位于 Active Directory 中)。

角色提供者正在使用 Active Directory/Windows 安全组和用户在这些组中的成员身份——同样:不涉及单独的角色数据库/表。

如果您想使用 Active Directory 提供程序,那么每个来到您站点的新用户都需要作为普通用户帐户添加到您的 Active Directory 中。

您不能同时使用两个成员资格提供程序 -要么您反对您的 AD 并使用其中定义的用户帐户和组 - (独占)或者您滚动自己的,并将用户帐户和角色以及用户的成员资格存储在单独的 SQL Server 数据库中的角色。

于 2011-07-20T08:30:18.710 回答
0

你能创建一个自定义角色和个人资料提供者吗?

您可以使用 Windows 用户名作为 fk,将用户引用到他们的角色和配置文件。

于 2011-07-20T11:06:25.087 回答