Развертывание поставщика утверждений в SharePoint
Узнайте, как развернуть поставщик утверждений SharePoint с помощью инфраструктуры компонентов и создать класс, который наследуется от SPClaimProviderFeatureReceiver .
Развертывание поставщика утверждений как часть процесса установки
С помощью инфраструктуру функций это самый простой способ развертывания поставщика утверждений. Для этого сначала определите компонент с областью фермы и приемник признаков, производный от класса SPClaimProviderFeatureReceiver , и переопределите базовые свойства.
Ниже приведен пример того, как это сделать.
public class MyClaimProviderFeatureReceiver : SPClaimProviderFeatureReceiver
{
public override string ClaimProviderAssembly { get { return typeof(MyClaimProvider).Assembly.FullName; } }
public override string ClaimProviderType { get { return typeof(MyClaimProvider).FullName; } }
public override string ClaimProviderDisplayName
{
get
{
return StringResourceManager.GetString(MyLocalizedClaimProviderName);
}
}
public override string ClaimProviderDescription
{
get
{
return StringResourceManager.GetString(MyLocalizedClaimProviderDescription);
}
}
}
Развертывание с помощью инфраструктуры компонента поставщика утверждений
Ниже приведен пример, в который показано, как определить компонент и приемник компонента, производный от SPClaimProviderFeatureReceiver и переопределить базовые свойства.
// Sample claims provider feature receiver class through which
// the sample claims provider registers itself
// with the Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager class.
using System;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Administration.Claims;
namespace MySample.Sample.Server.SampleClaimsProvider
{
/// <summary>
/// The NameIdentifierClaimProviderFeatureReceiver class is a feature receiver class
/// that registers the claims provider with the claims provider manager.
/// </summary>
[Microsoft.SharePoint.Security.SharePointPermission(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]
public sealed class NameIdentifierClaimProviderFeatureReceiver : SPClaimProviderFeatureReceiver
{
#region Private Methods
/// <summary>
/// Because use of base keyword can lead to unverifiable code inside a lambda expression,
/// this function is created as a wrapper for the base.FeatureActivated function.
/// This function gets called in the following lambda expression.
/// </summary>
/// <param name="properties">Represents the properties of a feature activation.</param>
/// <returns> void </returns>
private void ExecBaseFeatureActivated(Microsoft.SharePoint.SPFeatureReceiverProperties properties)
{
base.FeatureActivated(properties);
}
#endregion Private Methods
#region Public Method\\Properties
/// <summary>
/// Gets the fully qualified name of the MySample.Sample.Server.SampleClaimsProvider assembly.
/// </summary>
/// <returns>String representing fully qualified name of the MySample.Sample.Server.SampleClaimsProvider
/// assembly.</returns>
public override string ClaimProviderAssembly
{
get{ return typeof(SampleNameIdClaimProvider).Assembly.FullName; }
}
/// <summary>
/// Gets the fully qualified name of the claims provider type, including the namespace of the type.
/// </summary>
/// <returns>String representing the fully qualified name of the
///SampleNameIdClaimProvider class.</returns>
public override string ClaimProviderType
{
get{ return typeof(NameIdentifierClaimProvider).FullName; }
}
/// <summary>
/// Gets the display name of the claims provider.
/// </summary>
/// <returns>String representing display name of the claim provider.</returns>
public override string ClaimProviderDisplayName
{
get{ return "Sample NameId Claim Provider"; }
}
/// <summary>
/// Gets the description about the claims provider.
/// </summary>
/// <returns>String representing the description about the SampleClaimProvider.</returns>
public override string ClaimProviderDescription
{
get
{
return "This feature adds SampleNameId claim type in the SAML token created by the STS.";
}
}
/// <summary>
/// This methods gets called after the activation of the feature.
/// </summary>
/// <param name="properties">Represents the properties of a feature activation<./param>
/// <returns>void.</returns>
public override void FeatureActivated(Microsoft.SharePoint.SPFeatureReceiverProperties properties)
{
{
ExecBaseFeatureActivated(properties);
}
}
#endregion Public Method\\Properties
}
}