Compartir a través de


(Uri, SPClaim, List<SPClaim>) del método SPClaimProvider.FillClaimsForEntity

Cuando se implementa en una clase derivada, aumenta notificaciones personalizadas en un token de notificaciones.

Espacio de nombres:  Microsoft.SharePoint.Administration.Claims
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Protected MustOverride Sub FillClaimsForEntity ( _
    context As Uri, _
    entity As SPClaim, _
    claims As List(Of SPClaim) _
)
'Uso
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
)

Parámetros

  • context
    Tipo: System.Uri

    El contexto, como un identificador URI. Esto debe ser un URI con el formato correcto.

Comentarios

Al incluir notificaciones adicionales en el token de seguridad de un usuario, se aumentar las notificaciones. Si desea aumentar las notificaciones, debe implementar este método. Además, también debe establecer la propiedad SupportsEntityInformation a true en la clase SPClaimProvider . En orden para que se va a invocar este método, la SupportsEntityInformation debe devolver true.

Para obtener más información acerca de aumento de notificaciones, vea How to: Create a Claims Provider y Claims Provider.

En el ejemplo de código siguiente se muestra cómo aumentar las notificaciones y soporte técnico para el aumento de notificaciones. Con fines de demostración, en este ejemplo de proveedor de notificaciones sólo admite aumento de notificaciones para dos usuarios "contoso\spuser1" y "contoso\spuser2". Cuando el proveedor de notificaciones ve estos inicio de sesión de dos usuarios a un sitio de SharePoint, el proveedor de notificaciones agregará dos notificaciones adicionales para el token de usuario: CRMClaimType.Role y CRMClaimType.Region que se definen en una clase independiente (que no se muestra aquí).

DecodeUserIdentifierClaim() es un método estático que se pueden usar para descodificar las notificaciones de identidad de usuario.

Ejemplo de código proporcionado por:Sample code provided by: Andy Li, Microsoft Corporation.

Ejemplos

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));
    }
    
}

Vea también

Referencia

clase SPClaimProvider

Miembros SPClaimProvider

Sobrecarga FillClaimsForEntity

Espacio de nombres Microsoft.SharePoint.Administration.Claims