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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Pair.cs
- URLMembershipCondition.cs
- SevenBitStream.cs
- DiscoveryEndpoint.cs
- safemediahandle.cs
- ObjectItemAttributeAssemblyLoader.cs
- NegationPusher.cs
- Stack.cs
- JapaneseLunisolarCalendar.cs
- IntSecurity.cs
- PageStatePersister.cs
- ObjectAnimationUsingKeyFrames.cs
- BitmapImage.cs
- SystemKeyConverter.cs
- CommonDialog.cs
- StringConverter.cs
- AxisAngleRotation3D.cs
- Formatter.cs
- JsonWriter.cs
- ConsumerConnectionPoint.cs
- _NTAuthentication.cs
- IconHelper.cs
- SqlBuilder.cs
- GeometryModel3D.cs
- XmlLoader.cs
- MenuRendererClassic.cs
- XmlEncoding.cs
- RegexMatchCollection.cs
- UnsafeNativeMethods.cs
- TextCompositionManager.cs
- ListViewDeleteEventArgs.cs
- COM2Properties.cs
- Message.cs
- GeneralTransform3DGroup.cs
- XmlDocumentType.cs
- PersistencePipeline.cs
- SchemaTableColumn.cs
- ServicePointManagerElement.cs
- DataTablePropertyDescriptor.cs
- SettingsAttributes.cs
- WsdlInspector.cs
- GridViewEditEventArgs.cs
- KoreanCalendar.cs
- StringReader.cs
- EraserBehavior.cs
- ReferencedType.cs
- Visitor.cs
- TextRangeSerialization.cs
- TextParaLineResult.cs
- ProjectedSlot.cs
- DataTemplate.cs
- MsmqIntegrationReceiveParameters.cs
- SmtpException.cs
- OdbcConnectionStringbuilder.cs
- AnonymousIdentificationSection.cs
- AttributeQuery.cs
- Rect3D.cs
- MultiSelectRootGridEntry.cs
- mediaeventargs.cs
- BuildDependencySet.cs
- ListBoxItemWrapperAutomationPeer.cs
- ProjectionCamera.cs
- MILUtilities.cs
- ByteStorage.cs
- CodeParameterDeclarationExpression.cs
- SwitchElementsCollection.cs
- Vector3DCollectionValueSerializer.cs
- CircleHotSpot.cs
- RepeatInfo.cs
- AudioFileOut.cs
- WindowsFormsHostPropertyMap.cs
- NamespaceListProperty.cs
- TextDecorationCollection.cs
- ResolveCriteria.cs
- CellParaClient.cs
- DataGridViewDataErrorEventArgs.cs
- Compilation.cs
- codemethodreferenceexpression.cs
- SqlDataSourceCommandEventArgs.cs
- RequestCachePolicy.cs
- Thread.cs
- _ScatterGatherBuffers.cs
- Empty.cs
- WorkflowApplicationCompletedException.cs
- Mappings.cs
- xamlnodes.cs
- _CacheStreams.cs
- Container.cs
- NavigationProgressEventArgs.cs
- LassoHelper.cs
- TextRangeEditLists.cs
- NavigatorOutput.cs
- XmlDocument.cs
- SelectManyQueryOperator.cs
- QueryCacheKey.cs
- SettingsContext.cs
- GridItemPattern.cs
- RectangleHotSpot.cs
- ScrollItemPattern.cs
- CngProvider.cs