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
- UnsafeNativeMethods.cs
- PackageFilter.cs
- FixedSOMImage.cs
- IsolatedStorageException.cs
- ReaderWriterLock.cs
- EmbeddedObject.cs
- ManifestResourceInfo.cs
- Instrumentation.cs
- PatternMatcher.cs
- WebColorConverter.cs
- FtpWebResponse.cs
- ContentPresenter.cs
- HatchBrush.cs
- UpdatePanelTrigger.cs
- SchemaNotation.cs
- ServiceChannelFactory.cs
- ClientTargetCollection.cs
- TypeUtil.cs
- SByte.cs
- SynchronizedDispatch.cs
- HtmlTernaryTree.cs
- sqlcontext.cs
- DataGridItemCollection.cs
- SymmetricAlgorithm.cs
- exports.cs
- DataGridBoundColumn.cs
- CornerRadius.cs
- BuildProvider.cs
- XmlDocumentSurrogate.cs
- ClickablePoint.cs
- ModulesEntry.cs
- Helpers.cs
- StaticFileHandler.cs
- TemplatedWizardStep.cs
- WebPartZoneBaseDesigner.cs
- DefaultParameterValueAttribute.cs
- ClientConfigurationSystem.cs
- BaseDataList.cs
- BaseParser.cs
- ViewBase.cs
- prompt.cs
- EditorPart.cs
- ZoneButton.cs
- ConfigXmlReader.cs
- Color.cs
- CollectionsUtil.cs
- InvokeHandlers.cs
- OleCmdHelper.cs
- MarkupExtensionParser.cs
- SparseMemoryStream.cs
- SrgsDocument.cs
- LocalValueEnumerator.cs
- DesignerCommandSet.cs
- HitTestWithGeometryDrawingContextWalker.cs
- InheritanceContextHelper.cs
- SQLDecimal.cs
- IISUnsafeMethods.cs
- XmlLangPropertyAttribute.cs
- SimpleType.cs
- RelationshipEnd.cs
- PlatformNotSupportedException.cs
- AttachedProperty.cs
- BoundConstants.cs
- Select.cs
- UIElement3D.cs
- HttpWrapper.cs
- XmlSchemaSimpleContentExtension.cs
- ChooseAction.cs
- BrushConverter.cs
- CounterSetInstance.cs
- TreeViewImageIndexConverter.cs
- SystemIPGlobalStatistics.cs
- ChtmlPhoneCallAdapter.cs
- FormatSelectingMessageInspector.cs
- sitestring.cs
- PresentationAppDomainManager.cs
- RowUpdatedEventArgs.cs
- LinkedList.cs
- SplitterEvent.cs
- PropertyGeneratedEventArgs.cs
- SectionRecord.cs
- DesignerAttribute.cs
- ValidationEventArgs.cs
- WCFModelStrings.Designer.cs
- JapaneseLunisolarCalendar.cs
- StorageEntitySetMapping.cs
- FileSecurity.cs
- MenuAutomationPeer.cs
- EntityViewGenerator.cs
- PeerNameResolver.cs
- ColumnTypeConverter.cs
- AnimatedTypeHelpers.cs
- PolicyUnit.cs
- StringStorage.cs
- SrgsGrammar.cs
- CounterCreationDataCollection.cs
- WebBrowserEvent.cs
- SystemIPv6InterfaceProperties.cs
- ActivityExecutorDelegateInfo.cs
- WorkflowDesigner.cs