Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Description / ServiceAuthorizationBehavior.cs / 2 / ServiceAuthorizationBehavior.cs
//---------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------------------- namespace System.ServiceModel.Description { using System; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; using System.ServiceModel; using System.Runtime.Serialization; using System.ServiceModel.Security; using System.Web.Security; using System.Collections.ObjectModel; using System.Collections.Generic; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.Runtime.CompilerServices; public sealed class ServiceAuthorizationBehavior : IServiceBehavior { internal const bool DefaultImpersonateCallerForAllOperations = false; internal const PrincipalPermissionMode DefaultPrincipalPermissionMode = PrincipalPermissionMode.UseWindowsGroups; bool impersonateCallerForAllOperations; ReadOnlyCollectionexternalAuthorizationPolicies; ServiceAuthorizationManager serviceAuthorizationManager; PrincipalPermissionMode principalPermissionMode; object roleProvider; bool isExternalPoliciesSet; bool isAuthorizationManagerSet; bool isReadOnly; public ServiceAuthorizationBehavior() { this.impersonateCallerForAllOperations = DefaultImpersonateCallerForAllOperations; this.principalPermissionMode = DefaultPrincipalPermissionMode; } ServiceAuthorizationBehavior(ServiceAuthorizationBehavior other) { this.impersonateCallerForAllOperations = other.impersonateCallerForAllOperations; this.principalPermissionMode = other.principalPermissionMode; this.roleProvider = other.roleProvider; this.isExternalPoliciesSet = other.isExternalPoliciesSet; this.isAuthorizationManagerSet = other.isAuthorizationManagerSet; if (other.isExternalPoliciesSet || other.isAuthorizationManagerSet) { CopyAuthorizationPoliciesAndManager(other); } this.isReadOnly = other.isReadOnly; } public ReadOnlyCollection ExternalAuthorizationPolicies { get { return this.externalAuthorizationPolicies; } set { ThrowIfImmutable(); this.isExternalPoliciesSet = true; this.externalAuthorizationPolicies = value; } } public ServiceAuthorizationManager ServiceAuthorizationManager { get { return this.serviceAuthorizationManager; } set { ThrowIfImmutable(); this.isAuthorizationManagerSet = true; this.serviceAuthorizationManager = value; } } public PrincipalPermissionMode PrincipalPermissionMode { get { return this.principalPermissionMode; } set { if (!PrincipalPermissionModeHelper.IsDefined(value)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); ThrowIfImmutable(); this.principalPermissionMode = value; } } public RoleProvider RoleProvider { get { return (RoleProvider)this.roleProvider; } set { ThrowIfImmutable(); this.roleProvider = value; } } public bool ImpersonateCallerForAllOperations { get { return this.impersonateCallerForAllOperations; } set { ThrowIfImmutable(); this.impersonateCallerForAllOperations = value; } } [MethodImpl(MethodImplOptions.NoInlining)] void ApplyAuthorizationPoliciesAndManager(DispatchRuntime behavior) { if (this.externalAuthorizationPolicies != null) { behavior.ExternalAuthorizationPolicies = this.externalAuthorizationPolicies; } if (this.serviceAuthorizationManager != null) { behavior.ServiceAuthorizationManager = this.serviceAuthorizationManager; } } [MethodImpl(MethodImplOptions.NoInlining)] void CopyAuthorizationPoliciesAndManager(ServiceAuthorizationBehavior other) { this.externalAuthorizationPolicies = other.externalAuthorizationPolicies; this.serviceAuthorizationManager = other.serviceAuthorizationManager; } [MethodImpl(MethodImplOptions.NoInlining)] void ApplyRoleProvider(DispatchRuntime behavior) { behavior.RoleProvider = (RoleProvider)this.roleProvider; } void IServiceBehavior.Validate(ServiceDescription description, ServiceHostBase serviceHostBase) { } void IServiceBehavior.AddBindingParameters(ServiceDescription description, ServiceHostBase serviceHostBase, Collection endpoints, BindingParameterCollection parameters) { } void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription description, ServiceHostBase serviceHostBase) { if (description == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("description")); if (serviceHostBase == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("serviceHostBase")); for (int i=0; i
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DateTimeValueSerializerContext.cs
- CollectionView.cs
- ListViewAutomationPeer.cs
- HttpClientChannel.cs
- UnsafeNativeMethods.cs
- MetadataProperty.cs
- ExpressionCopier.cs
- ByteStack.cs
- SafeFileMappingHandle.cs
- Style.cs
- FileLevelControlBuilderAttribute.cs
- Serializer.cs
- InputMethod.cs
- SystemTcpConnection.cs
- NavigationExpr.cs
- XmlUtil.cs
- MatrixConverter.cs
- ManagementExtension.cs
- StylusButtonCollection.cs
- ClientTargetCollection.cs
- EffectiveValueEntry.cs
- XslAst.cs
- MaskedTextBoxDesignerActionList.cs
- ArraySortHelper.cs
- OletxEnlistment.cs
- ConnectionConsumerAttribute.cs
- CaseCqlBlock.cs
- AuthenticationManager.cs
- QueryCacheEntry.cs
- BaseAutoFormat.cs
- XmlSerializerFormatAttribute.cs
- BitmapVisualManager.cs
- CachingHintValidation.cs
- ReverseQueryOperator.cs
- Span.cs
- WebPartZone.cs
- FieldNameLookup.cs
- ListControlStringCollectionEditor.cs
- HtmlInputSubmit.cs
- StyleHelper.cs
- UIntPtr.cs
- mediapermission.cs
- WebPartCloseVerb.cs
- EditorZoneBase.cs
- XmlTextWriter.cs
- ClickablePoint.cs
- ValidationErrorEventArgs.cs
- InternalCache.cs
- LineUtil.cs
- SimpleFileLog.cs
- DataGridViewCellFormattingEventArgs.cs
- TextTreePropertyUndoUnit.cs
- TraceSection.cs
- BuildDependencySet.cs
- TextDecorations.cs
- TranslateTransform3D.cs
- OleDbDataReader.cs
- ProfileProvider.cs
- Brushes.cs
- HtmlUtf8RawTextWriter.cs
- DataSourceListEditor.cs
- DataGridCaption.cs
- PlanCompilerUtil.cs
- OdbcParameter.cs
- TableItemProviderWrapper.cs
- DriveNotFoundException.cs
- NumericUpDownAcceleration.cs
- SqlDataAdapter.cs
- DoWhileDesigner.xaml.cs
- DataGridViewLinkCell.cs
- GatewayDefinition.cs
- Scanner.cs
- PixelFormats.cs
- ButtonField.cs
- DataGridView.cs
- HttpStreamMessage.cs
- PixelFormats.cs
- RowVisual.cs
- ControlAdapter.cs
- EqualityComparer.cs
- AnimationStorage.cs
- LicenseProviderAttribute.cs
- WinFormsComponentEditor.cs
- SystemParameters.cs
- Button.cs
- ObjectKeyFrameCollection.cs
- PlainXmlWriter.cs
- ExtensionFile.cs
- Process.cs
- UnsafeNativeMethods.cs
- DataFormat.cs
- Transform.cs
- DrawingGroup.cs
- String.cs
- TdsParserSessionPool.cs
- PropertyManager.cs
- SystemIPGlobalStatistics.cs
- RealProxy.cs
- ToolStripSplitStackLayout.cs
- StateFinalizationActivity.cs