Поделиться через


Метод SPClaimProvider.FillClaimsForEntity (Uri, SPClaim, List<SPClaim>)

При реализации в класс, производный дополняет настраиваемых утверждений в маркер утверждений.

Пространство имен:  Microsoft.SharePoint.Administration.Claims
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Protected MustOverride Sub FillClaimsForEntity ( _
    context As Uri, _
    entity As SPClaim, _
    claims As List(Of SPClaim) _
)
'Применение
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
)

Параметры

  • context
    Тип: System.Uri

    Контекст как URI. Это должен быть правильно отформатированного URI.

  • claims
    Тип: System.Collections.Generic.List<SPClaim>

    SPClaim универсальный утверждений списка будет изменен, где будут добавлены дополнительные утверждения или расширения утверждений.

Замечания

При включении дополнительных утверждений в маркере безопасности пользователя дополнения утверждений. Если вы хотите расширения утверждений, необходимо реализовать этот метод. Кроме того необходимо также установить свойство SupportsEntityInformationtrue в классе SPClaimProvider . Чтобы этот метод должен быть вызван, SupportsEntityInformation должен возвращать true.

Дополнительные сведения о расширения утверждений можно How to: Create a Claims Provider и Claims Provider.

В следующем примере кода показана поддержка для расширения утверждений и способы расширения утверждений. В целях демонстрации в этом примере поставщик утверждений поддерживает только расширение утверждения для двух пользователей «contoso\spuser1» и «contoso\spuser2». Когда поставщик утверждений видит эти два пользователя для входа на сайт SharePoint, поставщика утверждений будут добавлены два дополнительных утверждений маркер пользователя: CRMClaimType.Role и CRMClaimType.Region , которые определены в отдельный класс (не показано).

DecodeUserIdentifierClaim() является статическим методом, который может использоваться для декодирования утверждений удостоверений пользователей.

Пример кода предоставлен:Sample code provided by: Энди Ли (Andy Li), корпорация Майкрософт

Примеры

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

См. также

Справочные материалы

SPClaimProvider класс

Элементы SPClaimProvider

Перегрузка FillClaimsForEntity

Пространство имен Microsoft.SharePoint.Administration.Claims