C# 将ActiveDirectoryMembershipProvider与SqlMembershipProvider一起使用

C# 将ActiveDirectoryMembershipProvider与SqlMembershipProvider一起使用,c#,.net,active-directory,sqlmembershipprovider,activedirectorymembership,C#,.net,Active Directory,Sqlmembershipprovider,Activedirectorymembership,我想创建一个仅由员工在内部使用的web应用程序(网站) 我想使用active directory membersip provider对用户进行身份验证。 让我困惑的是,我如何管理配置文件和角色,以及如何使用FK将用户链接到其他表 到目前为止,我正在考虑做类似的事情,但不确定这是否可能 使用Windows身份验证(在web.config中设置) 是否使用activedirectorymembership提供程序+sqlmembership提供程序 在用户第一次访问站点时注册用户(从广告中获取他

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

我想使用active directory membersip provider对用户进行身份验证。 让我困惑的是,我如何管理配置文件和角色,以及如何使用FK将用户链接到其他表

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

  • 使用Windows身份验证(在web.config中设置)
  • 是否使用activedirectorymembership提供程序+sqlmembership提供程序
  • 在用户第一次访问站点时注册用户(从广告中获取他们的电子邮件、姓名等,并在代码中创建用户并添加到sql db)
  • 每次他们再次访问站点时,检查数据库是否存在该用户,如果存在,则登录,如果不存在,则在sqlmembership中创建新用户
  • 对于所有其他表,将来自Aspnet_User的userid用作其他表中的FK
这会奏效吗?或者有没有更好的方法


谢谢

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

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

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


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

能否创建自定义角色和配置文件提供程序


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

我认为这更符合我的要求。你认为呢?另外,在db中唯一地表示用户(使用pk/fk)怎么样?应该如何管理?@raklos:是的,那篇博客文章展示了如何使用SqlRoleProvider-没有提到ActiveDirectoryProvider。。。。您正在使用Windows身份验证来检测用户名,但是您必须在SQL Server中创建一个“角色”表,并在那里填充它。广告提供商没有以任何方式参与进来,真的……你能回答吗?