将ActiveDirectoryMembershipProvider与SqlMembershipProvider一起使用

时间:2011-07-20 08:22:04

标签: c# .net active-directory sqlmembershipprovider activedirectorymembership

我想创建一个仅由员工在家中使用的网络应用程序(网站)。

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

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

  • 使用Windows身份验证(在web.config中设置)
  • 使用activedirectorymembership provider + sqlmembership provider?
  • 第一次访问网站时注册用户(从AD获取他们的电子邮件,名称等,并在代码中创建用户并添加到sql db)
  • 每次重新访问网站时,如果用户存在,请检查数据库,如果存在,请将其登录,如果没有在sqlmembership中创建新用户。
  • 对于所有其他表,使用来自Aspnet_User的userid作为其他表中的FK

这甚至会起作用吗?或者有更明显的方法吗?

由于

2 个答案:

答案 0 :(得分:1)

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

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

如果要使用Active Directory提供程序,则需要将每个进入您站点的新用户作为常规用户帐户添加到Active Directory中。

您不能同时使用这两个会员提供商 - 您违反AD并使用其中定义的用户帐户和群组 - (独家)或您将自己滚动,并将用户帐户和角色以及用户的角色成员存储在单独的SQL Server数据库中。

答案 1 :(得分:0)

您可以创建自定义角色和个人资料提供商吗?

比你可以使用windows用户名作为fk,引用用户的角色和个人资料。