Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / SspiNegotiationTokenAuthenticatorState.cs / 1 / SspiNegotiationTokenAuthenticatorState.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Security
{
using System.IdentityModel.Claims;
using System.ServiceModel;
using System.IdentityModel.Policy;
using System.Security.Principal;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Collections.Generic;
using System.ServiceModel.Channels;
using System.Runtime.Serialization;
using System.Net;
using System.Diagnostics;
class SspiNegotiationTokenAuthenticatorState : NegotiationTokenAuthenticatorState
{
ISspiNegotiation sspiNegotiation;
HashAlgorithm negotiationDigest;
string context;
int requestedKeySize;
EndpointAddress appliesTo;
DataContractSerializer appliesToSerializer;
public SspiNegotiationTokenAuthenticatorState(ISspiNegotiation sspiNegotiation)
: base()
{
if (sspiNegotiation == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("sspiNegotiation");
}
this.sspiNegotiation = sspiNegotiation;
this.negotiationDigest = CryptoHelper.NewSha1HashAlgorithm();
}
public ISspiNegotiation SspiNegotiation
{
get
{
return this.sspiNegotiation;
}
}
internal int RequestedKeySize
{
get
{
return this.requestedKeySize;
}
set
{
this.requestedKeySize = value;
}
}
internal HashAlgorithm NegotiationDigest
{
get
{
return this.negotiationDigest;
}
}
internal string Context
{
get
{
return this.context;
}
set
{
this.context = value;
}
}
internal EndpointAddress AppliesTo
{
get
{
return this.appliesTo;
}
set
{
this.appliesTo = value;
}
}
internal DataContractSerializer AppliesToSerializer
{
get
{
return this.appliesToSerializer;
}
set
{
this.appliesToSerializer = value;
}
}
public override string GetRemoteIdentityName()
{
if (this.sspiNegotiation != null && !this.IsNegotiationCompleted)
{
return this.sspiNegotiation.GetRemoteIdentityName();
}
return base.GetRemoteIdentityName();
}
public override void Dispose()
{
try
{
lock (ThisLock)
{
if (this.sspiNegotiation != null)
{
this.sspiNegotiation.Dispose();
}
if (this.negotiationDigest != null)
{
((IDisposable)this.negotiationDigest).Dispose();
}
}
}
finally
{
base.Dispose();
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EnumerableRowCollection.cs
- RequestStatusBarUpdateEventArgs.cs
- WebBrowserUriTypeConverter.cs
- TemplateBindingExtensionConverter.cs
- x509utils.cs
- PerfCounters.cs
- FlowDocumentReader.cs
- XamlSerializationHelper.cs
- ConfigsHelper.cs
- TraceSection.cs
- ConfigurationErrorsException.cs
- listviewsubitemcollectioneditor.cs
- RestHandlerFactory.cs
- LocalBuilder.cs
- QueryException.cs
- PublishLicense.cs
- WindowsSecurityTokenAuthenticator.cs
- PropertyAccessVisitor.cs
- ExpressionLink.cs
- ReferentialConstraintRoleElement.cs
- SystemGatewayIPAddressInformation.cs
- InputDevice.cs
- PKCS1MaskGenerationMethod.cs
- AttributeConverter.cs
- XmlArrayItemAttribute.cs
- SeparatorAutomationPeer.cs
- AsyncResult.cs
- DataColumnPropertyDescriptor.cs
- TypeElement.cs
- HttpCachePolicyElement.cs
- AdornerLayer.cs
- LinearGradientBrush.cs
- SQLBinary.cs
- ProcessModule.cs
- Rect3D.cs
- MbpInfo.cs
- NamedObjectList.cs
- SystemThemeKey.cs
- KeyEvent.cs
- UpdatePanelTriggerCollection.cs
- ByteStorage.cs
- ScrollContentPresenter.cs
- GridToolTip.cs
- NativeBuffer.cs
- BaseDataListComponentEditor.cs
- Baml2006KnownTypes.cs
- RawStylusSystemGestureInputReport.cs
- BaseParaClient.cs
- shaperfactory.cs
- ObjectQuery_EntitySqlExtensions.cs
- TablePattern.cs
- HttpContextServiceHost.cs
- ObjectStateManager.cs
- UpdateException.cs
- FormsAuthenticationConfiguration.cs
- RemoteWebConfigurationHost.cs
- RemotingSurrogateSelector.cs
- IChannel.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- TextTrailingWordEllipsis.cs
- TypeElement.cs
- XmlKeywords.cs
- KeyGesture.cs
- NotFiniteNumberException.cs
- SlipBehavior.cs
- CTreeGenerator.cs
- PostBackOptions.cs
- DataTableMappingCollection.cs
- LinqMaximalSubtreeNominator.cs
- KeyTime.cs
- TemplateFactory.cs
- SqlPersonalizationProvider.cs
- XmlAttributeProperties.cs
- StateMachine.cs
- XPathScanner.cs
- FileUpload.cs
- LogSwitch.cs
- EventHandlersDesigner.cs
- ReadOnlyHierarchicalDataSource.cs
- SQLBytes.cs
- LinearQuaternionKeyFrame.cs
- ChannelDispatcher.cs
- WindowsScrollBarBits.cs
- LoginDesignerUtil.cs
- SspiSafeHandles.cs
- HtmlTernaryTree.cs
- HScrollProperties.cs
- HandledEventArgs.cs
- EasingKeyFrames.cs
- StringConcat.cs
- ReadOnlyNameValueCollection.cs
- ConstraintConverter.cs
- Int32CAMarshaler.cs
- RuntimeArgumentHandle.cs
- Point.cs
- SoapMessage.cs
- TrailingSpaceComparer.cs
- WorkflowInstanceQuery.cs
- Stackframe.cs
- BinaryEditor.cs