Code:
/ DotNET / DotNET / 8.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
- RuleInfoComparer.cs
- SqlDataSourceCustomCommandPanel.cs
- DataTemplate.cs
- MetadataWorkspace.cs
- _NestedSingleAsyncResult.cs
- EmptyEnumerable.cs
- NamespaceListProperty.cs
- SrgsSubset.cs
- DefaultValueAttribute.cs
- TraceSource.cs
- BamlMapTable.cs
- SqlDataSourceQueryEditorForm.cs
- ManualResetEvent.cs
- ExpressionWriter.cs
- NameScope.cs
- FormViewInsertedEventArgs.cs
- CqlBlock.cs
- InfoCardKeyedHashAlgorithm.cs
- assertwrapper.cs
- CalendarDateRangeChangingEventArgs.cs
- StringResourceManager.cs
- TypeUtil.cs
- Double.cs
- ConfigXmlDocument.cs
- UrlMapping.cs
- SafeLibraryHandle.cs
- InputLanguageManager.cs
- SessionPageStatePersister.cs
- PermissionSetEnumerator.cs
- MultitargetingHelpers.cs
- ErrorProvider.cs
- WebPartTracker.cs
- PropertyGridView.cs
- RectValueSerializer.cs
- MatrixIndependentAnimationStorage.cs
- SecurityUtils.cs
- SHA1Managed.cs
- DeclarativeExpressionConditionDeclaration.cs
- DragEventArgs.cs
- HitTestDrawingContextWalker.cs
- PageCodeDomTreeGenerator.cs
- StreamReader.cs
- TabletDevice.cs
- DocComment.cs
- SortQuery.cs
- FrameSecurityDescriptor.cs
- ReadOnlyCollection.cs
- CodeSubDirectoriesCollection.cs
- TdsParserStateObject.cs
- arabicshape.cs
- Page.cs
- DataGridViewComboBoxColumnDesigner.cs
- BasicHttpMessageCredentialType.cs
- XmlSerializationReader.cs
- ToolTip.cs
- GradientStopCollection.cs
- SchemaCollectionPreprocessor.cs
- LocalizationParserHooks.cs
- Vector3DConverter.cs
- BinHexEncoder.cs
- WinEventHandler.cs
- Vector3DAnimation.cs
- HandleRef.cs
- LongTypeConverter.cs
- MTConfigUtil.cs
- XamlVector3DCollectionSerializer.cs
- PenThreadWorker.cs
- FixedPageStructure.cs
- SQLMoney.cs
- WebErrorHandler.cs
- CollectionsUtil.cs
- SafeNativeMethods.cs
- TiffBitmapDecoder.cs
- EventHandlers.cs
- Baml2006Reader.cs
- LoadRetryStrategyFactory.cs
- CmsUtils.cs
- CachingHintValidation.cs
- AutomationPatternInfo.cs
- BinaryNode.cs
- CustomError.cs
- NumericUpDownAccelerationCollection.cs
- ObjectAnimationUsingKeyFrames.cs
- DesignerActionUIStateChangeEventArgs.cs
- Enum.cs
- ScriptControl.cs
- StrongNameUtility.cs
- SqlDataSourceSelectingEventArgs.cs
- WorkflowHostingResponseContext.cs
- FieldNameLookup.cs
- CompositeDesignerAccessibleObject.cs
- TableAutomationPeer.cs
- ViewStateException.cs
- BindingExpression.cs
- QilLoop.cs
- WebControl.cs
- DragStartedEventArgs.cs
- TagMapCollection.cs
- DescendantQuery.cs
- TypeSystemProvider.cs