Partager via


SPClaimProvider.FillClaimsForEntity - Méthode (Uri, SPClaim, List<SPClaim>)

En cas d'implémentation dans une classe dérivée, augmente les revendications personnalisées dans un jeton de revendications.

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

Syntaxe

'Déclaration
Protected MustOverride Sub FillClaimsForEntity ( _
    context As Uri, _
    entity As SPClaim, _
    claims As List(Of SPClaim) _
)
'Utilisation
Dim context As Uri
Dim entity As SPClaim
Dim claims As List(Of SPClaim)

Me.FillClaimsForEntity(context, entity, _
    claims)
protected abstract void FillClaimsForEntity(
    Uri context,
    SPClaim entity,
    List<SPClaim> claims
)

Paramètres

  • context
    Type : System.Uri

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

Remarques

Lorsque vous incluez des demandes supplémentaires de jeton de sécurité d'un utilisateur, vous sont augmentation de revendications. Si vous souhaitez enrichir les revendications, vous devez implémenter cette méthode. En outre, vous devez également définir la propriété SupportsEntityInformation à true dans la classe SPClaimProvider . Afin que l'appel de cette méthode, la SupportsEntityInformation doit retourner true.

Pour plus d'informations sur l'augmentation des demandes de remboursement, consultez How to: Create a Claims Provider et Claims Provider.

L'exemple de code suivant illustre la prise en charge pour l'augmentation des demandes de remboursement et comment augmenter les revendications. À des fins de démonstration, cet exemple de fournisseur de revendications prend uniquement en charge les revendications augmentation pour deux utilisateurs « contoso\spuser1 » et « contoso\spuser2 ». Lorsque le fournisseur de réclamations voit ces connexion de deux utilisateurs sur un site SharePoint, le fournisseur de réclamations ajoutera deux autres plaintes au jeton de l'utilisateur : CRMClaimType.Role et CRMClaimType.Region qui sont définies dans une classe séparée (non illustrée ici).

DecodeUserIdentifierClaim() est une méthode statique qui peut être utilisée pour décoder des revendications d'identité de l'utilisateur.

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

Exemples

public override bool SupportsEntityInformation
{
    get { return true; }
}

protected override void FillClaimsForEntity(Uri context, SPClaim entity, List<SPClaim> claims)
{
    if (null == entity)
    {
        throw new ArgumentNullException("entity");
    }
    if (null == claims)
    {
        throw new ArgumentNullException("claims");
    }

    // Adds the role claim.
    SPClaim userIdClaim = SPClaimProviderManager.DecodeUserIdentifierClaim(entity);

    //Adds claims for SPUSER1 with CONTOSO as the domain.
    if (userIdClaim.Value.ToUpper() == "CONTOSO\\SPUSER1")
    {
        claims.Add(CreateClaim(CRMClaimType.Role, CRMRoleValue.SalesManager, Microsoft.IdentityModel.Claims.ClaimValueTypes.String));
        claims.Add(CreateClaim(CRMClaimType.Region, CRMRegionValue.NorthWest, Microsoft.IdentityModel.Claims.ClaimValueTypes.String));
    }
    

    // Adds claims for CONTOSO\SPUSER2
    if (userIdClaim.Value.ToUpper() == "CONTOSO\\SPUSER2")
    {
        claims.Add(CreateClaim(CRMClaimType.Role, CRMRoleValue.RegionManager, Microsoft.IdentityModel.Claims.ClaimValueTypes.String));
        claims.Add(CreateClaim(CRMClaimType.Region, CRMRegionValue.NorthWest, Microsoft.IdentityModel.Claims.ClaimValueTypes.String));
    }
    
}

Voir aussi

Référence

SPClaimProvider classe

SPClaimProvider - Membres

FillClaimsForEntity - Surcharge

Microsoft.SharePoint.Administration.Claims - Espace de noms