Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Security / ADMembershipUser.cs / 1305376 / 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;
[Serializable]
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Attributes.cs
- BaseTreeIterator.cs
- SystemIcmpV4Statistics.cs
- RoutedUICommand.cs
- ServiceChannelFactory.cs
- XhtmlBasicLiteralTextAdapter.cs
- IDQuery.cs
- CryptoHandle.cs
- _ScatterGatherBuffers.cs
- BamlBinaryWriter.cs
- BamlLocalizabilityResolver.cs
- ListSortDescription.cs
- BinaryConverter.cs
- DataGridViewHitTestInfo.cs
- SecurityException.cs
- ClientData.cs
- NativeMethods.cs
- DESCryptoServiceProvider.cs
- TextElementEnumerator.cs
- sitestring.cs
- entityreference_tresulttype.cs
- ResXResourceSet.cs
- RawTextInputReport.cs
- ObjectStorage.cs
- SqlTransaction.cs
- SqlIdentifier.cs
- SafePipeHandle.cs
- ProcessInputEventArgs.cs
- MenuBase.cs
- GeometryCollection.cs
- SurrogateChar.cs
- DrawListViewColumnHeaderEventArgs.cs
- ContentElement.cs
- SmiEventStream.cs
- PersistNameAttribute.cs
- ExternalException.cs
- BuildResultCache.cs
- HttpClientProtocol.cs
- MenuItemCollectionEditor.cs
- StretchValidation.cs
- lengthconverter.cs
- ImageUrlEditor.cs
- TakeQueryOptionExpression.cs
- ResXResourceSet.cs
- newinstructionaction.cs
- SessionEndedEventArgs.cs
- InputQueueChannelAcceptor.cs
- RSAPKCS1SignatureDeformatter.cs
- ZoneMembershipCondition.cs
- HttpCacheVaryByContentEncodings.cs
- WebPartConnectionsCancelVerb.cs
- SQLDouble.cs
- XPathPatternParser.cs
- FontStretches.cs
- SQLGuidStorage.cs
- WindowsGraphicsWrapper.cs
- TabControlAutomationPeer.cs
- Constraint.cs
- Italic.cs
- VisualCollection.cs
- SecurityKeyEntropyMode.cs
- SafeMemoryMappedFileHandle.cs
- ListBoxItemAutomationPeer.cs
- RemotingAttributes.cs
- StylusEditingBehavior.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- Partitioner.cs
- GorillaCodec.cs
- HiddenFieldPageStatePersister.cs
- SafeLibraryHandle.cs
- FormattedText.cs
- VersionedStream.cs
- CroppedBitmap.cs
- ObjectSecurity.cs
- TransportConfigurationTypeElement.cs
- MultiDataTrigger.cs
- BlobPersonalizationState.cs
- DesignerHost.cs
- ExecutionEngineException.cs
- WebPartAddingEventArgs.cs
- SchemaManager.cs
- Crypto.cs
- DataSourceHelper.cs
- ArrayList.cs
- Types.cs
- DataTemplateKey.cs
- SubtreeProcessor.cs
- ProcessHost.cs
- ParamArrayAttribute.cs
- RijndaelManagedTransform.cs
- UntypedNullExpression.cs
- GlyphShapingProperties.cs
- XmlArrayItemAttributes.cs
- XmlSiteMapProvider.cs
- CommandManager.cs
- ValidationUtility.cs
- TextDataBindingHandler.cs
- SafeThreadHandle.cs
- SourceLocation.cs
- itemelement.cs