Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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. } } // 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
- ToolboxService.cs
- ColorContextHelper.cs
- OrderingInfo.cs
- CancellationTokenRegistration.cs
- ConfigUtil.cs
- PropertyInfo.cs
- Interlocked.cs
- DataGridViewCellPaintingEventArgs.cs
- XmlDocumentType.cs
- SoapTypeAttribute.cs
- ContextToken.cs
- SettingsBindableAttribute.cs
- DescendantOverDescendantQuery.cs
- PeerChannelFactory.cs
- BorderGapMaskConverter.cs
- RuleProcessor.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DataPointer.cs
- XsltLoader.cs
- Enlistment.cs
- HtmlTable.cs
- NaturalLanguageHyphenator.cs
- DBSchemaRow.cs
- RootBrowserWindowAutomationPeer.cs
- ProfileModule.cs
- DataGridPreparingCellForEditEventArgs.cs
- XpsFontSerializationService.cs
- SQLMembershipProvider.cs
- basemetadatamappingvisitor.cs
- DataGridViewCellEventArgs.cs
- arclist.cs
- Thumb.cs
- RectAnimationUsingKeyFrames.cs
- HtmlInputReset.cs
- WebUtil.cs
- RegexCompilationInfo.cs
- XmlNamespaceDeclarationsAttribute.cs
- BuilderPropertyEntry.cs
- TableLayoutPanelCellPosition.cs
- Visual.cs
- XmlDictionaryWriter.cs
- DBConcurrencyException.cs
- _SafeNetHandles.cs
- Mapping.cs
- EditorBrowsableAttribute.cs
- UnmanagedMarshal.cs
- FrameDimension.cs
- ParameterRetriever.cs
- SemaphoreFullException.cs
- PixelShader.cs
- AdRotator.cs
- ListItemCollection.cs
- ConnectionInterfaceCollection.cs
- CodeTypeMember.cs
- Matrix3D.cs
- AsyncResult.cs
- MemoryStream.cs
- ForeignKeyFactory.cs
- EditBehavior.cs
- OleDbStruct.cs
- XmlTypeAttribute.cs
- querybuilder.cs
- CorrelationHandle.cs
- PropertyReferenceExtension.cs
- RuleSettingsCollection.cs
- JsonWriter.cs
- TreeNodeStyleCollectionEditor.cs
- HttpInputStream.cs
- TextTreeUndo.cs
- codemethodreferenceexpression.cs
- PasswordBox.cs
- SettingsBindableAttribute.cs
- ping.cs
- DataGridViewCellEventArgs.cs
- ConnectionPoolManager.cs
- SimpleWebHandlerParser.cs
- StackSpiller.Temps.cs
- AssemblyInfo.cs
- CreateUserWizardDesigner.cs
- SimpleExpression.cs
- WebExceptionStatus.cs
- CorrelationValidator.cs
- Merger.cs
- Dictionary.cs
- BuildManager.cs
- EncryptRequest.cs
- MessageQueueEnumerator.cs
- OdbcConnectionHandle.cs
- ReceiveContextCollection.cs
- ToolStripDropTargetManager.cs
- SessionStateSection.cs
- EntitySqlQueryState.cs
- ConfigurationLocation.cs
- NamespaceMapping.cs
- HttpCachePolicy.cs
- KnownAssembliesSet.cs
- XamlGridLengthSerializer.cs
- DataViewManagerListItemTypeDescriptor.cs
- PageThemeBuildProvider.cs
- Expander.cs