Sdílet prostřednictvím


Conversione di un filtro LDAP in un filtro per la connessione di SharePoint Server 2010

Conversione di un filtro LDAP in un filtro per la connessione di SharePoint Server 2010

Quando si configura la sincronizzazione dei profili tra un provider LDAP, ad esempio Servizi di dominio Active Directory, e SharePoint Server 2010, è possibile che si disponga di un filtro LDAP esistente da convertire in un filtro per la connessione di SharePoint. In questo post viene fornito un esempio di conversione di un filtro LDAP in un filtro per la connessione di SharePoint. Per istruzioni su come definire il filtro di connessione tramite l'interfaccia utente di SharePoint, vedere la sezione "Definire i filtri di esclusione per una connessione di sincronizzazione" nell'argomento Configurare la sincronizzazione dei profili.

I filtri LDAP consentono di definire gli oggetti directory che si desidera includere. I filtri per la connessione di SharePoint consentono di definire gli utenti che si desidera escludere.

Verrà esaminato di seguito un filtro LDAP e verrà illustrato come convertirlo in un filtro per la connessione di SharePoint 2010. Il filtro di esempio che verrà utilizzato è il seguente:

  • Base di ricerca: DC=cts,DC=contoso,DC=com
  • Filtro utente: (&(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)))

Di seguito il filtro LDAP viene convertito in una serie di semplici istruzioni logiche in modo da poter modificare più facilmente le istruzioni:

  • 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

Il filtro sopra riportato diventerebbe quindi simile al seguente: A ∧ ¬B ∧ (¬C ∧ D ∧ E ∧ F)
dove ∧ rappresenta AND, ∨ rappresenta OR e ¬ rappresenta NOT.

Nella tabella riportata di seguito viene illustrato come risolvere l'algebra booleana.

Filtro LDAP originale

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

Rimuovere le parentesi

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

Invertire il filtro, in modo da convertirlo in un filtro di esclusione

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

Semplificare utilizzando la legge di De Morgan

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

Rimuovere le doppie negative

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

Sostituendo A, B, C, D, E, F con le istruzioni di partenza, si ottiene quanto segue:

(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))

Ridefinendo questo filtro nel formato che è possibile immettere nell'interfaccia utente per i filtri per la connessione di SharePoint, si ottiene quanto segue:

AND/OR

Attributo

Operatore

Filtro

OR

objectCategory

Diverso da

Person

OR

userAccountControl

Bit ON uguale a

2

OR

extensionAttribute1

Uguale a

0

OR

extensionAttribute1

Non presente

OR

sAMAccountName

Non presente

OR

member

Non contiene

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

La prima clausola del filtro, ovvero objectCategory Diverso da Person, non è necessaria. Le voci che soddisfano objectCategory Diverso da Person verranno automaticamente escluse da SharePoint quando si crea un filtro per la connessione per sincronizzare gli utenti. Quando si crea il filtro per la connessione, utilizzare i valori nelle cinque righe restanti della tabella precedente per immettere i valori nella sezione Filtro di esclusione per gli utenti nella pagina Modifica filtri connessione.

Ringrazio Oleg Lysyk per la versione originale di queste informazioni.

 

Questo è un post di blog localizzato. L'articolo originale è disponibile in Converting an LDAP filter to a SharePoint Server 2010 connection filter.