Partager via


将 LDAP 筛选器转换为 SharePoint Server 2010 连接筛选器

将 LDAP 筛选器转换为 SharePoint Server 2010 连接筛选器

当您在 LDAP 提供程序(如 AD DS)和 SharePoint Server 2010 之间设置配置文件同步时,您可能使用希望转换为 SharePoint 连接筛选器的现有 LDAP 筛选器。本文章提供了一个将 LDAP 筛选器转换为 SharePoint 连接筛选器的示例。有关使用 SharePoint UI 输入连接筛选器的说明,请参阅配置配置文件同步主题中的“定义同步连接的排除筛选器”一节。

LDAP 筛选器定义要包括的目录对象。SharePoint 连接筛选器定义要排除 的用户。

让我们查看 LDAP 筛选器来了解如何将它转换为 SharePoint 2010 连接筛选器。下面是我们将使用的筛选器示例:

  • 搜索库:DC=cts,DC=contoso,DC=com
  • 用户筛选器:(&(objectCategory=Person)(!userAccountControl:1.2.840.113556.1.4.803:=2) (&(!extensionAttribute1=0)(extensionAttribute1=*)(sAMAccountName=*)(memberOf=CN=SharePoint Users,OU=Security,OU=Groups,DC=cts,DC=contoso,DC=com)))

让我们将 LDAP 筛选器转换为简单逻辑语句的一部分,以便我们可以更轻松地操作语句:

  • A:objectCategory = Person
  • B:userAccountControl:1.2.840.113556.1.4.803:=2
  • C:extensionAttribute1=0
  • D:extentionAttribute1=*
  • E:sAMAccountName=*
  • F:memberOf= CN=SharePoint Users, OU=Security, OU=Groups, DC=cts, DC=contoso,DC=com

然后,上述筛选器将类似于以下内容:A ∧ ¬B ∧ (¬C ∧ D ∧ E ∧ F)
其中 ∧ 表示 AND, ∨ 表示 OR,¬ 表示 NOT。

下表显示了如何处理布尔代数。

原始 LDAP 筛选器

A ∧ ¬B ∧ (¬C ∧ D ∧ E ∧ F)

移除括号

A ∧ ¬B ∧ ¬C ∧ D ∧ E ∧ F

反转筛选器,以使它成为排除筛选器

¬ (A ∧ ¬B ∧ ¬C ∧ D ∧ E ∧ F)

使用德摩根律简化

¬A ∨ ¬¬B ∨ ¬¬C ∨ ¬D ∨ ¬E ∨ ¬F

移除双重否定

¬A ∨ B ∨ C ∨ ¬D ∨ ¬E ∨ ¬F

如果我们用开头的语句替换 A、B、C、D、E、F,则得到以下语句:

(NOT (objectCategory = Person))
OR (userAccountControl:1.2.840.113556.1.4.803: = 2)
OR (extensionAttribute1 = 0)
OR (NOT (extensionAttribute1 = *))
OR (NOT (sAMAccountName = *))
OR (NOT (memberOf = CN=SharePoint Users,OU=Security,OU=Groups,DC=cts,DC=contoso,DC=com))

采用您可以在 SharePoint 连接筛选器 UI 中输入的格式重新对此进行说明,我们得到:

AND/OR

属性

运算符

筛选器

OR

objectCategory

不等于

Person

OR

userAccountControl

位开等于

2

OR

extensionAttribute1

等于

0

OR

extensionAttribute1

不存在

OR

sAMAccountName

不存在

OR

member

不包含

CN=SharePoint Users、OU=Security、OU=Groups、DC=cts、DC=contoso、DC=com

筛选器的第一个子句 objectCategory 不等于 Person 不是必需的。在您创建连接筛选器来同步用户时,SharePoint 会自动排除其 objectCategory 不等于 Person 的条目。在您创建连接筛选器时,请使用上表中剩余五行中的值在“编辑连接筛选器”页的“用户的排除筛选器”部分输入值。

衷心感谢 Oleg Lysyk 提供此信息的原始版本。

 

这是一篇本地化的博客文章。请访问 Converting an LDAP filter to a SharePoint Server 2010 connection filter 以查看原文

Comments

  • Anonymous
    August 18, 2011
    对于最后一行的“OR      member      不包含     CN=SharePoint Users、OU=Security、OU=Groups、DC=cts、DC=contoso、DC=com”,这个不work。在Exclusion Filter for Users里没有member这个属性;在Exclusion Filter for Group里有member这个属性,但是按上面的添加完"CN=SharePoint Users、OU=Security、OU=Groups、DC=cts、DC=contoso、DC=com"后,只要一保存就会报错。 请问,有没有好的解决方法?