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
- ProcessHostServerConfig.cs
- EntitySqlQueryBuilder.cs
- TextCharacters.cs
- BeginStoryboard.cs
- AppDomain.cs
- ReferencedCollectionType.cs
- DefaultPrintController.cs
- Crypto.cs
- ControlPropertyNameConverter.cs
- HuffModule.cs
- ZoneButton.cs
- ListDictionary.cs
- FocusTracker.cs
- RegexCaptureCollection.cs
- VariantWrapper.cs
- Geometry.cs
- XamlReader.cs
- AnnotationResource.cs
- GridEntryCollection.cs
- ColumnHeaderConverter.cs
- OrderedHashRepartitionStream.cs
- TabPanel.cs
- CodeSubDirectory.cs
- ValueTable.cs
- securestring.cs
- Thumb.cs
- GridView.cs
- DoubleUtil.cs
- IncrementalReadDecoders.cs
- ImageSourceValueSerializer.cs
- QueryRewriter.cs
- TreeNode.cs
- BitStream.cs
- PersonalizationDictionary.cs
- HttpHostedTransportConfiguration.cs
- PictureBox.cs
- BitmapEffectInputConnector.cs
- DataChangedEventManager.cs
- DownloadProgressEventArgs.cs
- CodeDirectoryCompiler.cs
- XmlSchemaSimpleTypeUnion.cs
- DataBindingExpressionBuilder.cs
- StringPropertyBuilder.cs
- LocationEnvironment.cs
- ConstraintCollection.cs
- BaseProcessor.cs
- WebPartDisplayModeCancelEventArgs.cs
- DoubleAnimationBase.cs
- HierarchicalDataBoundControlAdapter.cs
- CustomCategoryAttribute.cs
- SqlDataReader.cs
- SqlStream.cs
- Transactions.cs
- TextSelectionHelper.cs
- RegisteredExpandoAttribute.cs
- OdbcEnvironment.cs
- EntityDataSourceUtil.cs
- Symbol.cs
- StrongNameUtility.cs
- DelegatingChannelListener.cs
- DataRecordInternal.cs
- DBCommandBuilder.cs
- GridPatternIdentifiers.cs
- ToolStripGripRenderEventArgs.cs
- CompilerGeneratedAttribute.cs
- lengthconverter.cs
- LOSFormatter.cs
- _ListenerAsyncResult.cs
- BulletChrome.cs
- StdRegProviderWrapper.cs
- ZoneMembershipCondition.cs
- WebPartConnectionsDisconnectVerb.cs
- RadioButtonRenderer.cs
- OptimizerPatterns.cs
- Paragraph.cs
- UserControlParser.cs
- TreeWalkHelper.cs
- XmlSchemaAttribute.cs
- CollectionType.cs
- NegatedCellConstant.cs
- FeatureAttribute.cs
- TreeNodeBinding.cs
- InvalidOperationException.cs
- FakeModelPropertyImpl.cs
- DbDeleteCommandTree.cs
- Stack.cs
- AtomMaterializerLog.cs
- OptimizerPatterns.cs
- StyleCollection.cs
- SqlFileStream.cs
- ScriptingSectionGroup.cs
- ResourcesGenerator.cs
- NodeLabelEditEvent.cs
- MarkupCompilePass1.cs
- WorkflowRuntime.cs
- WebDisplayNameAttribute.cs
- MetadataPropertyvalue.cs
- CustomBindingElementCollection.cs
- ApplicationFileParser.cs
- ReferencedType.cs