Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / UserNameServiceElement.cs / 1 / UserNameServiceElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.ServiceModel; using System.Configuration; using System.ServiceModel.Security; using System.Xml; using System.IdentityModel.Selectors; using System.ComponentModel; public sealed partial class UserNameServiceElement : ConfigurationElement { public UserNameServiceElement() { } [ConfigurationProperty(ConfigurationStrings.UserNamePasswordValidationMode, DefaultValue = UserNamePasswordServiceCredential.DefaultUserNamePasswordValidationMode)] [ServiceModelEnumValidator(typeof(UserNamePasswordValidationModeHelper))] public UserNamePasswordValidationMode UserNamePasswordValidationMode { get { return (UserNamePasswordValidationMode)base[ConfigurationStrings.UserNamePasswordValidationMode]; } set { base[ConfigurationStrings.UserNamePasswordValidationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.IncludeWindowsGroups, DefaultValue = SspiSecurityTokenProvider.DefaultExtractWindowsGroupClaims)] public bool IncludeWindowsGroups { get { return (bool)base[ConfigurationStrings.IncludeWindowsGroups]; } set { base[ConfigurationStrings.IncludeWindowsGroups] = value; } } [ConfigurationProperty(ConfigurationStrings.MembershipProviderName, DefaultValue = "")] [StringValidator(MinLength = 0)] public string MembershipProviderName { get { return (string)base[ConfigurationStrings.MembershipProviderName]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.MembershipProviderName] = value; } } [ConfigurationProperty(ConfigurationStrings.CustomUserNamePasswordValidatorType, DefaultValue = "")] [StringValidator(MinLength = 0)] public string CustomUserNamePasswordValidatorType { get { return (string)base[ConfigurationStrings.CustomUserNamePasswordValidatorType]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.CustomUserNamePasswordValidatorType] = value; } } [ConfigurationProperty(ConfigurationStrings.CacheLogonTokens, DefaultValue = UserNamePasswordServiceCredential.DefaultCacheLogonTokens)] public bool CacheLogonTokens { get { return (bool)base[ConfigurationStrings.CacheLogonTokens]; } set { base[ConfigurationStrings.CacheLogonTokens] = value; } } [ConfigurationProperty(ConfigurationStrings.MaxCachedLogonTokens, DefaultValue = UserNamePasswordServiceCredential.DefaultMaxCachedLogonTokens)] [IntegerValidator(MinValue = 1)] public int MaxCachedLogonTokens { get { return (int)base[ConfigurationStrings.MaxCachedLogonTokens]; } set { base[ConfigurationStrings.MaxCachedLogonTokens] = value; } } [ConfigurationProperty(ConfigurationStrings.CachedLogonTokenLifetime, DefaultValue = UserNamePasswordServiceCredential.DefaultCachedLogonTokenLifetimeString)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanOneTick)] public TimeSpan CachedLogonTokenLifetime { get { return (TimeSpan)base[ConfigurationStrings.CachedLogonTokenLifetime]; } set { base[ConfigurationStrings.CachedLogonTokenLifetime] = value; } } public void Copy(UserNameServiceElement from) { if (this.IsReadOnly()) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigReadOnly))); } if (null == from) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("from"); } this.UserNamePasswordValidationMode = from.UserNamePasswordValidationMode; this.IncludeWindowsGroups = from.IncludeWindowsGroups; this.MembershipProviderName = from.MembershipProviderName; this.CustomUserNamePasswordValidatorType = from.CustomUserNamePasswordValidatorType; this.CacheLogonTokens = from.CacheLogonTokens; this.MaxCachedLogonTokens = from.MaxCachedLogonTokens; this.CachedLogonTokenLifetime = from.CachedLogonTokenLifetime; } internal void ApplyConfiguration(UserNamePasswordServiceCredential userName) { if (userName == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("userName"); } userName.UserNamePasswordValidationMode = this.UserNamePasswordValidationMode; userName.IncludeWindowsGroups = this.IncludeWindowsGroups; userName.CacheLogonTokens = this.CacheLogonTokens; userName.MaxCachedLogonTokens = this.MaxCachedLogonTokens; userName.CachedLogonTokenLifetime = this.CachedLogonTokenLifetime; PropertyInformationCollection propertyInfo = this.ElementInformation.Properties; if (propertyInfo[ConfigurationStrings.MembershipProviderName].ValueOrigin != PropertyValueOrigin.Default) { userName.MembershipProvider = System.Web.Security.Membership.Providers[this.MembershipProviderName]; if (userName.MembershipProvider == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.InvalidMembershipProviderSpecifiedInConfig, this.MembershipProviderName))); } else if (userName.UserNamePasswordValidationMode == UserNamePasswordValidationMode.MembershipProvider) { userName.MembershipProvider = System.Web.Security.Membership.Provider; } if (!string.IsNullOrEmpty(this.CustomUserNamePasswordValidatorType)) { Type validatorType = System.Type.GetType(this.CustomUserNamePasswordValidatorType, true); if (!typeof(UserNamePasswordValidator).IsAssignableFrom(validatorType)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidUserNamePasswordValidatorType, this.CustomUserNamePasswordValidatorType, typeof(UserNamePasswordValidator).ToString()))); } userName.CustomUserNamePasswordValidator = (UserNamePasswordValidator)Activator.CreateInstance(validatorType); } } } } // 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
- WebBrowserNavigatedEventHandler.cs
- HttpRequestCacheValidator.cs
- ParentControlDesigner.cs
- PagesChangedEventArgs.cs
- EdmRelationshipRoleAttribute.cs
- TextAnchor.cs
- MethodImplAttribute.cs
- DefaultTraceListener.cs
- _BaseOverlappedAsyncResult.cs
- SrgsElementList.cs
- ChtmlTextWriter.cs
- AssemblyBuilder.cs
- StringUtil.cs
- WorkflowControlClient.cs
- DllNotFoundException.cs
- Codec.cs
- TypedElement.cs
- UserPersonalizationStateInfo.cs
- EndpointInfo.cs
- FilterQueryOptionExpression.cs
- StringToken.cs
- SubpageParaClient.cs
- Roles.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DataGridColumnCollection.cs
- PageThemeBuildProvider.cs
- Transform.cs
- ReadOnlyDataSourceView.cs
- HttpRequestCacheValidator.cs
- HtmlLink.cs
- IdentitySection.cs
- ConnectionsZoneAutoFormat.cs
- SmtpException.cs
- ClickablePoint.cs
- HttpContext.cs
- MetadataException.cs
- HostProtectionException.cs
- HtmlTernaryTree.cs
- XmlDictionaryWriter.cs
- WebHeaderCollection.cs
- SHA512Managed.cs
- WebReferencesBuildProvider.cs
- HttpCacheVary.cs
- HMACSHA1.cs
- ComboBoxItem.cs
- XmlSchemaAppInfo.cs
- HostedTransportConfigurationManager.cs
- LoginUtil.cs
- PixelFormat.cs
- HttpAsyncResult.cs
- DefaultClaimSet.cs
- DbReferenceCollection.cs
- Thickness.cs
- ContextQuery.cs
- LoginUtil.cs
- WebReferencesBuildProvider.cs
- SafeCancelMibChangeNotify.cs
- BrushConverter.cs
- NonParentingControl.cs
- XsdDuration.cs
- ProxyWebPart.cs
- ConnectionManagementElement.cs
- AssemblyInfo.cs
- ActivityValidator.cs
- ServerReliableChannelBinder.cs
- oledbmetadatacollectionnames.cs
- ConfigXmlText.cs
- RC2CryptoServiceProvider.cs
- DataObjectCopyingEventArgs.cs
- DefaultObjectMappingItemCollection.cs
- Transform.cs
- BindingsCollection.cs
- NavigateEvent.cs
- ExpressionTextBox.xaml.cs
- ChangeDirector.cs
- MarkupExtensionParser.cs
- HandleTable.cs
- SpeakCompletedEventArgs.cs
- SystemWebExtensionsSectionGroup.cs
- ExpressionVisitor.cs
- DataMemberConverter.cs
- AssertSection.cs
- FixedSOMLineCollection.cs
- EntityDataSourceWrapper.cs
- ConfigurationPropertyAttribute.cs
- GeneralTransform2DTo3DTo2D.cs
- SqlTypeSystemProvider.cs
- ExecutionEngineException.cs
- DateTimeOffset.cs
- ValidationHelpers.cs
- CompatibleIComparer.cs
- OleDbParameter.cs
- CodeGen.cs
- EditorZoneAutoFormat.cs
- UserControl.cs
- ImageMap.cs
- WorkerRequest.cs
- CrossContextChannel.cs
- TaskDesigner.cs
- ActiveDesignSurfaceEvent.cs