SPClaimProvider.FillSearch - Méthode

En cas d'implémentation dans une classe dérivée, insère les résultats de la recherche dans la fenêtre de contrôle de sélecteur de personnes.

Espace de noms :  Microsoft.SharePoint.Administration.Claims
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Protected MustOverride Sub FillSearch ( _
    context As Uri, _
    entityTypes As String(), _
    searchPattern As String, _
    hierarchyNodeID As String, _
    maxCount As Integer, _
    searchTree As SPProviderHierarchyTree _
)
'Utilisation
Dim context As Uri
Dim entityTypes As String()
Dim searchPattern As String
Dim hierarchyNodeID As String
Dim maxCount As Integer
Dim searchTree As SPProviderHierarchyTree

Me.FillSearch(context, entityTypes, _
    searchPattern, hierarchyNodeID, _
    maxCount, searchTree)
protected abstract void FillSearch(
    Uri context,
    string[] entityTypes,
    string searchPattern,
    string hierarchyNodeID,
    int maxCount,
    SPProviderHierarchyTree searchTree
)

Paramètres

  • context
    Type : System.Uri

    Le contexte, en tant qu'URI. Ce doit être un URI correctement mis en forme.

  • entityTypes
    Type : []

    Les types d'entité [P:HYPERLINK"mk:@MSITStore:D:\\\\aSDK\\\\SP2010SDK.chm::/html/a4bf54d0-29e5-e5c2-231e-b1b9f4728a7f.htm"Microsoft.SharePoint.WebControls.PickerEntity.EntityType] définissent l'étendue de la recherche.

  • hierarchyNodeID
    Type : System.String

    Identificateur unique du nœud de la hiérarchie.

  • maxCount
    Type : System.Int32

    Une valeur Int32 qui contient le nombre maximal de fournisseurs à retourner dans la liste.

Remarques

Si vous souhaitez être en mesure de rechercher les revendications dans le contrôle sélecteur de personnes, vous devez implémenter cette méthode et **[P:HYPERLINK"ms-help://MS.SPS14SDK.en/SPF14MrefAdmin/html/ba710e89-6180-0fec-fb79-090451f9ee43.htm"Microsoft.SharePoint.Administration.Claims.SupportSearch]**de la propriété.

Le SupportsSearch doit retourner true.

À des fins de démonstration, la fonction de recherche prend uniquement en charge la recherche de nom complet. Comme vous pouvez le voir, le fournisseur de réclamations prend en charge deux demandes de remboursement en tant qu'entité : SalesManager et RegionManager. Ils peuvent être utilisés pour sécuriser les objets SharePoint comme l'exemple de code dans la rubrique de référence FillEntityTypes() utilisée les rôles ASP.NET pour faire la même chose.

Vous devez également implémenter la méthode FillResolve() qui accepte un paramètre SPClaim . Cette méthode est utilisée pour résoudre une seule déclaration de vérifier l'existence de la créance. Le sélecteur de personnes recherche d'abord les revendications à l'aide de la méthode FillSearch() . Une fois que l'utilisateur sélectionne l'une des déclarations, le sélecteur de personnes appelle FillResolve() pour vérifier à nouveau.

Exemple de code fourni par : Andy Li, Microsoft Corporation.

Exemples


// Returns true if you support claim search in the People Picker control.
public override bool SupportsSearch
{
    get { return true; }
}
protected override void FillSearch(Uri context, string[] entityTypes, string searchPattern, string hierarchyNodeID, int maxCount, SPProviderHierarchyTree searchTree)
        {
            if (searchPattern.ToUpper() == "SALESMANAGER")
            {
                PickerEntity entity = CreatePickerEntity();
                entity.Claim = CreateClaim(CRMClaimType.Role, CRMRoleValue.SalesManager, Microsoft.IdentityModel.Claims.ClaimValueTypes.String);
                entity.Description = CRMRoleValue.SalesManager;
                entity.DisplayText = CRMRoleValue.SalesManager;
                entity.EntityData[PeopleEditorEntityDataKeys.DisplayName] = CRMRoleValue.SalesManager;
                entity.EntityType = SPClaimEntityTypes.FormsRole;
                entity.IsResolved = true;
                searchTree.AddEntity(entity);
            }
            if (searchPattern.ToUpper() == "REGIONMANAGER")
            {
                PickerEntity entity = CreatePickerEntity();
                entity.Claim = CreateClaim(CRMClaimType.Role, CRMRoleValue.RegionManager, Microsoft.IdentityModel.Claims.ClaimValueTypes.String);
                entity.Description = CRMRoleValue.RegionManager;
                entity.DisplayText = CRMRoleValue.RegionManager;
                entity.EntityData[PeopleEditorEntityDataKeys.DisplayName] = CRMRoleValue.RegionManager;
                entity.EntityType = SPClaimEntityTypes.FormsRole;
                entity.IsResolved = true;
                searchTree.AddEntity(entity);
            }
        }

Voir aussi

Référence

SPClaimProvider classe

SPClaimProvider - Membres

Microsoft.SharePoint.Administration.Claims - Espace de noms