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
- NamedPermissionSet.cs
- GC.cs
- ClientTargetSection.cs
- HttpHandlerAction.cs
- ToolStripDropDownClosedEventArgs.cs
- TimeSpanOrInfiniteConverter.cs
- PropertyGridDesigner.cs
- UnmanagedMemoryStreamWrapper.cs
- DocComment.cs
- HierarchicalDataBoundControlAdapter.cs
- DockPanel.cs
- ZipIOExtraFieldElement.cs
- DropShadowEffect.cs
- SQLDecimal.cs
- XmlAnyAttributeAttribute.cs
- PropertyInfoSet.cs
- BitmapEffectCollection.cs
- HMACMD5.cs
- HitTestParameters.cs
- BuildProvider.cs
- CodeMethodInvokeExpression.cs
- XMLDiffLoader.cs
- XmlSchemaParticle.cs
- String.cs
- EnumBuilder.cs
- ParsedAttributeCollection.cs
- TimelineGroup.cs
- MouseBinding.cs
- UpdateInfo.cs
- CustomErrorsSectionWrapper.cs
- ComponentCache.cs
- DbParameterCollectionHelper.cs
- StringArrayEditor.cs
- SessionStateSection.cs
- Point3DKeyFrameCollection.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- SamlSecurityTokenAuthenticator.cs
- StringKeyFrameCollection.cs
- MiniModule.cs
- WinInetCache.cs
- UnsafeNativeMethods.cs
- DbDataSourceEnumerator.cs
- DataTableClearEvent.cs
- RuleSettings.cs
- IndentedWriter.cs
- EditingCommands.cs
- ByteConverter.cs
- MenuItemCollection.cs
- MetabaseSettings.cs
- InvokeGenerator.cs
- ChangeToolStripParentVerb.cs
- HelpOperationInvoker.cs
- SafeProcessHandle.cs
- InvalidEnumArgumentException.cs
- ComboBoxRenderer.cs
- XmlIgnoreAttribute.cs
- CellTreeNode.cs
- IndexedSelectQueryOperator.cs
- QueryAccessibilityHelpEvent.cs
- UserValidatedEventArgs.cs
- HTMLTagNameToTypeMapper.cs
- XmlSchemaAll.cs
- AccessorTable.cs
- GeometryHitTestResult.cs
- AuthorizationContext.cs
- InstanceData.cs
- TraceXPathNavigator.cs
- PeerCredential.cs
- BulletChrome.cs
- DataSourceHelper.cs
- BindingBase.cs
- CommandEventArgs.cs
- DataGrid.cs
- AppDomain.cs
- XdrBuilder.cs
- ConstructorNeedsTagAttribute.cs
- SemanticValue.cs
- SessionStateContainer.cs
- XmlSubtreeReader.cs
- PeerService.cs
- streamingZipPartStream.cs
- CookieParameter.cs
- DataGridViewComboBoxCell.cs
- SubMenuStyleCollectionEditor.cs
- DataGridViewRowsAddedEventArgs.cs
- InitializationEventAttribute.cs
- DoubleConverter.cs
- EllipticalNodeOperations.cs
- MsmqIntegrationInputMessage.cs
- NavigationProperty.cs
- OdbcDataReader.cs
- QueryableFilterUserControl.cs
- EpmContentSerializer.cs
- CssStyleCollection.cs
- TextTreeDeleteContentUndoUnit.cs
- FunctionMappingTranslator.cs
- FastEncoder.cs
- SystemIPInterfaceProperties.cs
- codemethodreferenceexpression.cs
- InternalsVisibleToAttribute.cs