本文整理汇总了C#中IServiceProvider.GetAuthnContextClassRefFromAuthLevel方法的典型用法代码示例。如果您正苦于以下问题:C# IServiceProvider.GetAuthnContextClassRefFromAuthLevel方法的具体用法?C# IServiceProvider.GetAuthnContextClassRefFromAuthLevel怎么用?C# IServiceProvider.GetAuthnContextClassRefFromAuthLevel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IServiceProvider
的用法示例。
在下文中一共展示了IServiceProvider.GetAuthnContextClassRefFromAuthLevel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetRequestedAuthnContext
/// <summary>
/// Getst the RequestedAuthnContext element based on supplied
/// parameters for the given service provider.
/// <seealso cref="Saml2Constants.AuthnContextClassRef"/>
/// <seealso cref="Saml2Constants.AuthnContextDeclRef"/>
/// <seealso cref="Saml2Constants.AuthLevel"/>
/// </summary>
/// <param name="serviceProvider">
/// Service Provider generating the RequestedAuthnContext.
/// </param>
/// <param name="parameters">
/// NameValueCollection containing necessary parameters for
/// constructing the RequetedAuthnContext.
/// </param>
/// <returns>RequestedAuthContext object or null if parameters are not present.</returns>
private static RequestedAuthnContext GetRequestedAuthnContext(IServiceProvider serviceProvider,
NameValueCollection parameters)
{
RequestedAuthnContext reqAuthnContext = null;
if (!String.IsNullOrEmpty(parameters[Saml2Constants.AuthnContextClassRef])
|| !String.IsNullOrEmpty(parameters[Saml2Constants.AuthnContextDeclRef])
|| !String.IsNullOrEmpty(parameters[Saml2Constants.AuthLevel]))
{
reqAuthnContext = new RequestedAuthnContext();
var classRefs = new ArrayList();
var declRefs = new ArrayList();
char[] separators = {'|'};
if (!String.IsNullOrEmpty(parameters[Saml2Constants.AuthnContextClassRef]))
{
classRefs.AddRange(parameters[Saml2Constants.AuthnContextClassRef].Split(separators));
}
if (!String.IsNullOrEmpty(parameters[Saml2Constants.AuthnContextDeclRef]))
{
declRefs.AddRange(parameters[Saml2Constants.AuthnContextDeclRef].Split(separators));
}
if (!String.IsNullOrEmpty(parameters[Saml2Constants.AuthLevel]))
{
int authLevel = Convert.ToInt32(parameters[Saml2Constants.AuthLevel], CultureInfo.InvariantCulture);
classRefs.Add(serviceProvider.GetAuthnContextClassRefFromAuthLevel(authLevel));
}
reqAuthnContext.SetAuthnContextClassRef(classRefs);
reqAuthnContext.SetAuthnContextDeclRef(declRefs);
if (!String.IsNullOrEmpty(parameters[Saml2Constants.AuthComparison]))
{
reqAuthnContext.Comparison = parameters[Saml2Constants.AuthComparison];
}
}
return reqAuthnContext;
}