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
- XmlTextEncoder.cs
- JulianCalendar.cs
- CfgArc.cs
- DrawItemEvent.cs
- Mutex.cs
- RemoteCryptoSignHashRequest.cs
- ThousandthOfEmRealPoints.cs
- PackageRelationshipCollection.cs
- ThrowHelper.cs
- URLString.cs
- ControlIdConverter.cs
- XmlObjectSerializer.cs
- XslAstAnalyzer.cs
- UIntPtr.cs
- ToggleProviderWrapper.cs
- Mouse.cs
- FontUnitConverter.cs
- ResolveMatchesMessage11.cs
- SQLConvert.cs
- WebServiceMethodData.cs
- SplayTreeNode.cs
- DataGridViewMethods.cs
- OleStrCAMarshaler.cs
- DependencyObjectProvider.cs
- InheritanceContextChangedEventManager.cs
- GeneralTransform3DCollection.cs
- TypedTableBase.cs
- StoreAnnotationsMap.cs
- DataGridTextColumn.cs
- ProviderCollection.cs
- XmlSchemaAnnotation.cs
- RealProxy.cs
- AttributeQuery.cs
- LinqDataSourceUpdateEventArgs.cs
- DataControlFieldCell.cs
- ReceiveContent.cs
- TraceContextRecord.cs
- GeneralTransform2DTo3D.cs
- VisualStateManager.cs
- LineGeometry.cs
- SafeFileMappingHandle.cs
- CalendarDay.cs
- xmlglyphRunInfo.cs
- BuildManager.cs
- CallbackWrapper.cs
- XPathBinder.cs
- MetadataArtifactLoader.cs
- URL.cs
- TypedTableBaseExtensions.cs
- EntityPropertyMappingAttribute.cs
- XmlWrappingReader.cs
- ByValueEqualityComparer.cs
- SQLConvert.cs
- GACMembershipCondition.cs
- SymbolType.cs
- dtdvalidator.cs
- SortFieldComparer.cs
- XhtmlBasicImageAdapter.cs
- DataControlPagerLinkButton.cs
- FixedSOMPageConstructor.cs
- RequestResizeEvent.cs
- IPGlobalProperties.cs
- BoolLiteral.cs
- basevalidator.cs
- ViewStateModeByIdAttribute.cs
- ColorContextHelper.cs
- DbCommandDefinition.cs
- ProcessThreadCollection.cs
- ActivityCodeGenerator.cs
- TypeNameConverter.cs
- EventLog.cs
- WebPartManagerInternals.cs
- ToolboxDataAttribute.cs
- DashStyles.cs
- NoneExcludedImageIndexConverter.cs
- Floater.cs
- RegistrySecurity.cs
- WebPartsSection.cs
- ReadOnlyTernaryTree.cs
- ZipIOLocalFileHeader.cs
- ConnectivityStatus.cs
- OleStrCAMarshaler.cs
- TryExpression.cs
- TdsParser.cs
- KnownColorTable.cs
- FileRegion.cs
- AuthenticationManager.cs
- BinaryFormatter.cs
- TextFragmentEngine.cs
- SyntaxCheck.cs
- DynamicPropertyReader.cs
- EncryptedPackage.cs
- WCFBuildProvider.cs
- ImportFileRequest.cs
- HtmlInputHidden.cs
- AstTree.cs
- PasswordBoxAutomationPeer.cs
- Line.cs
- oledbmetadatacolumnnames.cs
- NamedPipeProcessProtocolHandler.cs