Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / ServiceAuthorizationElement.cs / 1 / ServiceAuthorizationElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Collections.Generic; using System.ServiceModel.Channels; using System.ServiceModel; using System.ServiceModel.Description; using System.ComponentModel; using System.Configuration; using System.IdentityModel.Claims; using System.IdentityModel.Policy; public sealed partial class ServiceAuthorizationElement : BehaviorExtensionElement { public ServiceAuthorizationElement() { } [ConfigurationProperty(ConfigurationStrings.PrincipalPermissionMode, DefaultValue = PrincipalPermissionMode.UseWindowsGroups)] [ServiceModelEnumValidator(typeof(PrincipalPermissionModeHelper))] public PrincipalPermissionMode PrincipalPermissionMode { get { return (PrincipalPermissionMode)base[ConfigurationStrings.PrincipalPermissionMode]; } set { base[ConfigurationStrings.PrincipalPermissionMode] = value; } } [ConfigurationProperty(ConfigurationStrings.RoleProviderName, DefaultValue = "")] [StringValidator(MinLength = 0)] public string RoleProviderName { get { return (string)base[ConfigurationStrings.RoleProviderName]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.RoleProviderName] = value; } } [ConfigurationProperty(ConfigurationStrings.ImpersonateCallerForAllOperations, DefaultValue = ServiceAuthorizationBehavior.DefaultImpersonateCallerForAllOperations)] public bool ImpersonateCallerForAllOperations { get { return (bool)base[ConfigurationStrings.ImpersonateCallerForAllOperations]; } set { base[ConfigurationStrings.ImpersonateCallerForAllOperations] = value; } } [ConfigurationProperty(ConfigurationStrings.ServiceAuthorizationManagerType, DefaultValue = "")] [StringValidator(MinLength = 0)] public string ServiceAuthorizationManagerType { get { return (string)base[ConfigurationStrings.ServiceAuthorizationManagerType]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.ServiceAuthorizationManagerType] = value; } } [ConfigurationProperty(ConfigurationStrings.AuthorizationPolicies)] public AuthorizationPolicyTypeElementCollection AuthorizationPolicies { get { return (AuthorizationPolicyTypeElementCollection)base[ConfigurationStrings.AuthorizationPolicies]; } } public override void CopyFrom(ServiceModelExtensionElement from) { base.CopyFrom(from); ServiceAuthorizationElement source = (ServiceAuthorizationElement)from; #pragma warning suppress 56506 //[....]; base.CopyFrom() checks for 'from' being null this.PrincipalPermissionMode = source.PrincipalPermissionMode; this.RoleProviderName = source.RoleProviderName; this.ImpersonateCallerForAllOperations = source.ImpersonateCallerForAllOperations; this.ServiceAuthorizationManagerType = source.ServiceAuthorizationManagerType; AuthorizationPolicyTypeElementCollection srcAuthorizationPolicies = source.AuthorizationPolicies; AuthorizationPolicyTypeElementCollection dstAuthorizationPolicies = this.AuthorizationPolicies; for (int i = 0; i < srcAuthorizationPolicies.Count; ++i) { dstAuthorizationPolicies.Add(srcAuthorizationPolicies[i]); } } protected internal override object CreateBehavior() { ServiceAuthorizationBehavior behavior = new ServiceAuthorizationBehavior(); behavior.PrincipalPermissionMode = this.PrincipalPermissionMode; string roleProviderName = this.RoleProviderName; if (!String.IsNullOrEmpty(roleProviderName)) { behavior.RoleProvider = System.Web.Security.Roles.Providers[roleProviderName]; if (behavior.RoleProvider == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.InvalidRoleProviderSpecifiedInConfig, roleProviderName))); } } behavior.ImpersonateCallerForAllOperations = this.ImpersonateCallerForAllOperations; string serviceAuthorizationManagerType = this.ServiceAuthorizationManagerType; if (!String.IsNullOrEmpty(serviceAuthorizationManagerType)) { Type type = Type.GetType(serviceAuthorizationManagerType, true); if (!typeof(ServiceAuthorizationManager).IsAssignableFrom(type)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidServiceAuthorizationManagerType, serviceAuthorizationManagerType, typeof(ServiceAuthorizationManager)))); } behavior.ServiceAuthorizationManager = (ServiceAuthorizationManager)Activator.CreateInstance(type); } AuthorizationPolicyTypeElementCollection authorizationPolicies = this.AuthorizationPolicies; if (authorizationPolicies.Count > 0) { Listpolicies = new List (authorizationPolicies.Count); for (int i = 0; i < authorizationPolicies.Count; ++i) { Type type = Type.GetType(authorizationPolicies[i].PolicyType, true); if (!typeof(IAuthorizationPolicy).IsAssignableFrom(type)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidAuthorizationPolicyType, authorizationPolicies[i].PolicyType, typeof(IAuthorizationPolicy)))); } policies.Add((IAuthorizationPolicy)Activator.CreateInstance(type)); } behavior.ExternalAuthorizationPolicies = policies.AsReadOnly(); } return behavior; } public override Type BehaviorType { get { return typeof(ServiceAuthorizationBehavior); } } } } // 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
- TextElement.cs
- ScrollProviderWrapper.cs
- Set.cs
- WorkflowViewService.cs
- PersonalizationAdministration.cs
- QuaternionAnimation.cs
- RecognizedWordUnit.cs
- JobInputBins.cs
- FixedTextBuilder.cs
- TagPrefixAttribute.cs
- ArgumentNullException.cs
- diagnosticsswitches.cs
- ArcSegment.cs
- SerialErrors.cs
- PassportAuthentication.cs
- DetailsViewUpdateEventArgs.cs
- ActivitySurrogate.cs
- PackageRelationshipCollection.cs
- Sentence.cs
- DataSvcMapFileSerializer.cs
- FileSystemWatcher.cs
- SelectedDatesCollection.cs
- CssClassPropertyAttribute.cs
- SiteMapNode.cs
- RewritingPass.cs
- ListView.cs
- BinaryReader.cs
- ScaleTransform.cs
- RotationValidation.cs
- AllMembershipCondition.cs
- FileDialog_Vista_Interop.cs
- IFlowDocumentViewer.cs
- RelationshipSet.cs
- FileUtil.cs
- ProfileManager.cs
- JavaScriptSerializer.cs
- CoTaskMemHandle.cs
- DefaultProxySection.cs
- CustomCategoryAttribute.cs
- ZipIOFileItemStream.cs
- GridItem.cs
- WrappingXamlSchemaContext.cs
- ImagingCache.cs
- DbParameterCollectionHelper.cs
- MergablePropertyAttribute.cs
- DataGridAddNewRow.cs
- Common.cs
- DbParameterCollectionHelper.cs
- DataIdProcessor.cs
- LockCookie.cs
- Int32Rect.cs
- SafeMarshalContext.cs
- SequenceDesignerAccessibleObject.cs
- AccessorTable.cs
- SHA1CryptoServiceProvider.cs
- Internal.cs
- RemotingAttributes.cs
- SoapSchemaMember.cs
- SignedXml.cs
- ISAPIApplicationHost.cs
- isolationinterop.cs
- ObjectStateFormatter.cs
- TypeElementCollection.cs
- StoryFragments.cs
- XmlWrappingWriter.cs
- HelpPage.cs
- StorageBasedPackageProperties.cs
- ApplicationBuildProvider.cs
- CommandHelper.cs
- Verify.cs
- EditorBrowsableAttribute.cs
- Operator.cs
- WebPartActionVerb.cs
- WebPartEditorApplyVerb.cs
- ServiceDescriptionData.cs
- CallSite.cs
- ConstraintStruct.cs
- ContentPlaceHolder.cs
- ToolStripProgressBar.cs
- TextInfo.cs
- BinaryWriter.cs
- InvalidPipelineStoreException.cs
- TemplateColumn.cs
- TableItemPatternIdentifiers.cs
- DataGridViewToolTip.cs
- SHA384Cng.cs
- SafeProcessHandle.cs
- GZipDecoder.cs
- ChannelAcceptor.cs
- Floater.cs
- CallbackValidatorAttribute.cs
- TemplateGroupCollection.cs
- TextCollapsingProperties.cs
- TransactionContextManager.cs
- PartialCachingControl.cs
- SoapAttributes.cs
- DataServiceProviderWrapper.cs
- SystemFonts.cs
- NameValuePermission.cs
- SemanticTag.cs