Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Security / ADMembershipUser.cs / 1 / ADMembershipUser.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Security { using System.Web; using System.Web.Configuration; using System.Security.Principal; using System.Security.Permissions; using System.Globalization; using System.Runtime.Serialization; using System.Diagnostics; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [Serializable] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ActiveDirectoryMembershipUser : MembershipUser { internal bool emailModified = true; internal bool commentModified = true; internal bool isApprovedModified = true; // // private variables needed for the providerUserKey // (We need to store the provider user key here rather than the base class // to be able to do custom serialization) // private byte[] sidBinaryForm = null; [NonSerialized] private SecurityIdentifier sid = null; public override DateTime LastLoginDate { get { throw new NotSupportedException(SR.GetString(SR.ADMembership_UserProperty_not_supported, "LastLoginDate")); } set { throw new NotSupportedException(SR.GetString(SR.ADMembership_UserProperty_not_supported, "LastLoginDate")); } } public override DateTime LastActivityDate { get { throw new NotSupportedException(SR.GetString(SR.ADMembership_UserProperty_not_supported, "LastActivityDate")); } set { throw new NotSupportedException(SR.GetString(SR.ADMembership_UserProperty_not_supported, "LastActivityDate")); } } public override string Email { get { return base.Email; } set { base.Email = value; emailModified = true; } } public override string Comment { get { return base.Comment; } set { base.Comment = value; commentModified = true; } } public override bool IsApproved { get { return base.IsApproved; } set { base.IsApproved = value; isApprovedModified = true; } } public override object ProviderUserKey { get { if (sid == null && sidBinaryForm != null) sid = new SecurityIdentifier(sidBinaryForm, 0); return sid; } } public ActiveDirectoryMembershipUser(string providerName, string name, object providerUserKey, string email, string passwordQuestion, string comment, bool isApproved, bool isLockedOut, DateTime creationDate, DateTime lastLoginDate, DateTime lastActivityDate, DateTime lastPasswordChangedDate, DateTime lastLockoutDate) :base(providerName, name, null, email, passwordQuestion, comment, isApproved, isLockedOut, creationDate, lastLoginDate, lastActivityDate, lastPasswordChangedDate, lastLockoutDate) { if ((providerUserKey != null) && !(providerUserKey is SecurityIdentifier)) throw new ArgumentException( SR.GetString( SR.ADMembership_InvalidProviderUserKey ), "providerUserKey" ); sid = (SecurityIdentifier) providerUserKey; if (sid != null) { // // store the sid in binary form for serialization // sidBinaryForm = new byte[sid.BinaryLength]; sid.GetBinaryForm(sidBinaryForm, 0); } } internal ActiveDirectoryMembershipUser(string providerName, string name, byte[] sidBinaryForm, object providerUserKey, string email, string passwordQuestion, string comment, bool isApproved, bool isLockedOut, DateTime creationDate, DateTime lastLoginDate, DateTime lastActivityDate, DateTime lastPasswordChangedDate, DateTime lastLockoutDate, bool valuesAreUpdated) :base(providerName, name, null, email, passwordQuestion, comment, isApproved, isLockedOut, creationDate, lastLoginDate, lastActivityDate, lastPasswordChangedDate, lastLockoutDate) { if (valuesAreUpdated) { emailModified = false; commentModified = false; isApprovedModified = false; } Debug.Assert(sidBinaryForm != null); this.sidBinaryForm = sidBinaryForm; Debug.Assert((providerUserKey != null) && (providerUserKey is SecurityIdentifier)); sid = (SecurityIdentifier) providerUserKey; } protected ActiveDirectoryMembershipUser() { } // Default CTor: Callable by derived class only. } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DesignerHierarchicalDataSourceView.cs
- HtmlInputPassword.cs
- FeatureSupport.cs
- EndpointAddressProcessor.cs
- SqlDataSourceStatusEventArgs.cs
- ExceptionHelpers.cs
- HttpModulesSection.cs
- SystemTcpStatistics.cs
- DataException.cs
- TimestampInformation.cs
- TimelineClockCollection.cs
- PropertyGridEditorPart.cs
- LocalizedNameDescriptionPair.cs
- UnhandledExceptionEventArgs.cs
- SqlDataSourceSelectingEventArgs.cs
- Wizard.cs
- EntryPointNotFoundException.cs
- DecoderFallback.cs
- LinkDesigner.cs
- XPathNavigatorKeyComparer.cs
- IfJoinedCondition.cs
- PropertyChangeTracker.cs
- Page.cs
- DataContractAttribute.cs
- RequestBringIntoViewEventArgs.cs
- DataContractSerializerSection.cs
- SyndicationDeserializer.cs
- ComponentCollection.cs
- SqlGenericUtil.cs
- WebSysDisplayNameAttribute.cs
- Rule.cs
- TabControlCancelEvent.cs
- DesignerCategoryAttribute.cs
- MessageDecoder.cs
- CollectionChangeEventArgs.cs
- PermissionRequestEvidence.cs
- DnsEndpointIdentity.cs
- EmptyReadOnlyDictionaryInternal.cs
- CodeComment.cs
- ReflectionHelper.cs
- BooleanKeyFrameCollection.cs
- SortedDictionary.cs
- IArgumentProvider.cs
- PtsHelper.cs
- TemplateParser.cs
- BamlRecords.cs
- DataGridViewColumnStateChangedEventArgs.cs
- TemplatingOptionsDialog.cs
- VariantWrapper.cs
- StylusLogic.cs
- PersonalizationProviderCollection.cs
- ObjectDataSourceMethodEventArgs.cs
- SqlDataSourceStatusEventArgs.cs
- DocumentViewerConstants.cs
- PropertyCondition.cs
- RestHandlerFactory.cs
- RenderData.cs
- ParallelEnumerable.cs
- ParseHttpDate.cs
- TrustSection.cs
- BindableTemplateBuilder.cs
- EmissiveMaterial.cs
- SingletonChannelAcceptor.cs
- DataRowCollection.cs
- ToolStripItemEventArgs.cs
- RelationshipWrapper.cs
- DefaultAuthorizationContext.cs
- WebPartConnectionsEventArgs.cs
- DataSourceCacheDurationConverter.cs
- CaseInsensitiveComparer.cs
- Menu.cs
- TdsParserSafeHandles.cs
- ManagedWndProcTracker.cs
- UnsafeNativeMethods.cs
- MemoryResponseElement.cs
- LineGeometry.cs
- ObjectAssociationEndMapping.cs
- ToolStripSplitButton.cs
- SmiXetterAccessMap.cs
- DataListItem.cs
- AssertSection.cs
- FontInfo.cs
- SByteStorage.cs
- RemotingConfigParser.cs
- BrowserInteropHelper.cs
- ExpandSegment.cs
- Module.cs
- ToolBarOverflowPanel.cs
- XhtmlBasicTextViewAdapter.cs
- CompilerGeneratedAttribute.cs
- DownloadProgressEventArgs.cs
- TokenBasedSetEnumerator.cs
- WindowVisualStateTracker.cs
- CallbackValidator.cs
- ColorTransformHelper.cs
- PropertyMapper.cs
- TemplatePagerField.cs
- EventProxy.cs
- SystemWebSectionGroup.cs
- Point3DAnimationUsingKeyFrames.cs