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
- Visitor.cs
- LineSegment.cs
- Memoizer.cs
- CacheMemory.cs
- FixUp.cs
- XamlSerializerUtil.cs
- RotationValidation.cs
- BitmapEffect.cs
- QilPatternFactory.cs
- TextEndOfSegment.cs
- TiffBitmapDecoder.cs
- IssuanceLicense.cs
- RegisteredDisposeScript.cs
- BaseCodeDomTreeGenerator.cs
- TreeNodeConverter.cs
- Bitmap.cs
- OdbcUtils.cs
- NodeLabelEditEvent.cs
- ToolStripDropDownMenu.cs
- InputLangChangeEvent.cs
- UnitySerializationHolder.cs
- OpenTypeLayoutCache.cs
- BlockCollection.cs
- Faults.cs
- CodeCommentStatement.cs
- BamlResourceDeserializer.cs
- DataGridRow.cs
- MemoryRecordBuffer.cs
- IndentTextWriter.cs
- ConfigurationLocationCollection.cs
- TemplateBuilder.cs
- SpellerError.cs
- ApplicationSecurityInfo.cs
- DependencyObjectValidator.cs
- DataGridViewAutoSizeModeEventArgs.cs
- IgnoreSection.cs
- CqlGenerator.cs
- PropertyGridView.cs
- PreservationFileReader.cs
- DataColumnChangeEvent.cs
- CorrelationValidator.cs
- OleDbInfoMessageEvent.cs
- StandardBindingCollectionElement.cs
- ExpandoObject.cs
- ReachUIElementCollectionSerializer.cs
- HelloOperationCD1AsyncResult.cs
- BaseTemplateBuildProvider.cs
- TreeNodeConverter.cs
- IgnoreFlushAndCloseStream.cs
- SqlUserDefinedTypeAttribute.cs
- Button.cs
- UpdatePanel.cs
- RegexWorker.cs
- XslAst.cs
- XmlSchemaIdentityConstraint.cs
- RepeaterCommandEventArgs.cs
- ArrayElementGridEntry.cs
- ReadOnlyCollection.cs
- ListViewItemCollectionEditor.cs
- CaseCqlBlock.cs
- Page.cs
- GridViewDeletedEventArgs.cs
- DesignSurfaceEvent.cs
- ValueTypeFixupInfo.cs
- AnnouncementClient.cs
- SchemaImporterExtension.cs
- CryptographicAttribute.cs
- QuaternionConverter.cs
- Frame.cs
- XMLDiffLoader.cs
- CompoundFileDeflateTransform.cs
- SqlInternalConnection.cs
- TrackingMemoryStream.cs
- ConfigurationValidatorBase.cs
- SpeakCompletedEventArgs.cs
- ProcessInfo.cs
- ProfileSection.cs
- FileDialog_Vista_Interop.cs
- BitmapMetadata.cs
- Compilation.cs
- SrgsText.cs
- AttachInfo.cs
- DataGridViewColumnHeaderCell.cs
- PasswordTextNavigator.cs
- FixedPageProcessor.cs
- ImmutablePropertyDescriptorGridEntry.cs
- ObsoleteAttribute.cs
- ImageDrawing.cs
- RulePatternOps.cs
- StyleCollectionEditor.cs
- Int32AnimationBase.cs
- TileBrush.cs
- InheritanceContextChangedEventManager.cs
- TextRunCache.cs
- SqlRowUpdatedEvent.cs
- ScriptRegistrationManager.cs
- RepeatInfo.cs
- SqlReferenceCollection.cs
- Control.cs
- TargetException.cs