//----------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Security { using System.IdentityModel.Claims; using System.ServiceModel; using System.IdentityModel.Policy; using System.IdentityModel.Selectors; using System.IdentityModel.Tokens; using System.ServiceModel.Security.Tokens; using System.Net; using System.Security.Principal; public class SspiSecurityTokenProvider : SecurityTokenProvider { internal const bool DefaultAllowNtlm = true; internal const bool DefaultExtractWindowsGroupClaims = true; internal const bool DefaultAllowUnauthenticatedCallers = false; SspiSecurityToken token; // client side ctor public SspiSecurityTokenProvider(NetworkCredential credential, bool allowNtlm, TokenImpersonationLevel impersonationLevel) { this.token = new SspiSecurityToken(impersonationLevel, allowNtlm, credential); } // service side ctor public SspiSecurityTokenProvider(NetworkCredential credential, bool extractGroupsForWindowsAccounts, bool allowUnauthenticatedCallers) { this.token = new SspiSecurityToken(credential, extractGroupsForWindowsAccounts, allowUnauthenticatedCallers); } protected override SecurityToken GetTokenCore(TimeSpan timeout) { return this.token; } } }