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
- InputGestureCollection.cs
- HttpInputStream.cs
- ReferenceService.cs
- LineGeometry.cs
- ResourceExpressionBuilder.cs
- EllipticalNodeOperations.cs
- CodeTypeReference.cs
- CharAnimationUsingKeyFrames.cs
- BooleanStorage.cs
- TreeViewTemplateSelector.cs
- SqlProvider.cs
- DebugHandleTracker.cs
- CheckBoxList.cs
- ReadContentAsBinaryHelper.cs
- CultureInfo.cs
- BamlLocalizableResource.cs
- CharUnicodeInfo.cs
- ContentType.cs
- SSmlParser.cs
- HtmlHead.cs
- COM2Properties.cs
- CaseStatement.cs
- Message.cs
- wmiprovider.cs
- CategoryGridEntry.cs
- FileClassifier.cs
- TableItemPatternIdentifiers.cs
- StickyNote.cs
- DesignerValidatorAdapter.cs
- DataGridViewCheckBoxColumn.cs
- infer.cs
- AvTraceDetails.cs
- FontUnit.cs
- ImageClickEventArgs.cs
- SQLBytesStorage.cs
- CollectionBase.cs
- InvalidPipelineStoreException.cs
- ValidatorAttribute.cs
- DataDocumentXPathNavigator.cs
- XmlNodeChangedEventManager.cs
- FtpRequestCacheValidator.cs
- MobileTextWriter.cs
- precedingquery.cs
- DataGridViewRowConverter.cs
- TypeReference.cs
- PropertyTab.cs
- CaseStatementSlot.cs
- PropertyCollection.cs
- XamlFxTrace.cs
- ProgressBarHighlightConverter.cs
- PeerResolverElement.cs
- PermissionSetEnumerator.cs
- XMLDiffLoader.cs
- CompressStream.cs
- FormsAuthenticationUserCollection.cs
- ReadOnlyDictionary.cs
- PriorityBindingExpression.cs
- CodeDelegateInvokeExpression.cs
- Themes.cs
- FuncTypeConverter.cs
- ScopeCollection.cs
- LinqDataView.cs
- StackOverflowException.cs
- Vector.cs
- StateInitialization.cs
- CatalogZone.cs
- ItemCheckEvent.cs
- TextSyndicationContent.cs
- SqlRecordBuffer.cs
- ConnectionInterfaceCollection.cs
- CompiledRegexRunnerFactory.cs
- GlyphingCache.cs
- CaseInsensitiveComparer.cs
- PathTooLongException.cs
- StorageMappingFragment.cs
- WebConfigurationHostFileChange.cs
- ValidationErrorCollection.cs
- HttpPostServerProtocol.cs
- DocumentOrderComparer.cs
- ReadOnlyAttribute.cs
- ListViewPagedDataSource.cs
- Evaluator.cs
- SQLInt32.cs
- GlyphCache.cs
- SqlCaseSimplifier.cs
- RuntimeComponentFilter.cs
- QuaternionConverter.cs
- MetadataCache.cs
- RelationshipEndMember.cs
- IIS7WorkerRequest.cs
- ProfileModule.cs
- CLRBindingWorker.cs
- Model3DGroup.cs
- xml.cs
- SessionIDManager.cs
- ProtocolsConfigurationHandler.cs
- TailPinnedEventArgs.cs
- DbParameterCollection.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- StrongNameIdentityPermission.cs