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
- PeerApplication.cs
- ItemPager.cs
- ScrollBar.cs
- SamlAuthorizationDecisionStatement.cs
- NameScopePropertyAttribute.cs
- TableAutomationPeer.cs
- Math.cs
- FunctionDescription.cs
- WebServiceResponseDesigner.cs
- WebPartConnectionsConnectVerb.cs
- FormsAuthentication.cs
- Parser.cs
- DragDrop.cs
- BitmapEncoder.cs
- DoubleLinkList.cs
- QueryReaderSettings.cs
- ProcessHostMapPath.cs
- TokenCreationException.cs
- ComboBox.cs
- PublisherIdentityPermission.cs
- NonBatchDirectoryCompiler.cs
- TimeoutValidationAttribute.cs
- OdbcTransaction.cs
- ApplicationProxyInternal.cs
- IProducerConsumerCollection.cs
- JoinTreeNode.cs
- UnsafeNativeMethods.cs
- WindowsTokenRoleProvider.cs
- HitTestParameters3D.cs
- PlatformCulture.cs
- ProviderMetadataCachedInformation.cs
- SafeBuffer.cs
- AVElementHelper.cs
- ToolStripPanelRow.cs
- NotifyInputEventArgs.cs
- HttpTransportSecurityElement.cs
- DesignTimeParseData.cs
- AppDomainAttributes.cs
- DescendantQuery.cs
- DiagnosticsConfiguration.cs
- DataTableCollection.cs
- QilStrConcatenator.cs
- AnnotationAuthorChangedEventArgs.cs
- ListViewPagedDataSource.cs
- DragEventArgs.cs
- QilInvoke.cs
- ExpressionPrefixAttribute.cs
- HttpModuleAction.cs
- Inflater.cs
- XmlDataCollection.cs
- PolicyChain.cs
- TextSchema.cs
- ReflectionPermission.cs
- FeatureAttribute.cs
- ProbeDuplex11AsyncResult.cs
- ApplicationInfo.cs
- FlowThrottle.cs
- QilUnary.cs
- StandardCommands.cs
- DataPagerCommandEventArgs.cs
- Semaphore.cs
- ItemsControl.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- ReflectTypeDescriptionProvider.cs
- Label.cs
- RefreshEventArgs.cs
- ToolStripStatusLabel.cs
- ParenthesizePropertyNameAttribute.cs
- LogoValidationException.cs
- TreeNode.cs
- AnnotationService.cs
- XmlAttribute.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- AuthenticationServiceManager.cs
- OlePropertyStructs.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- DoubleLink.cs
- TextTreeDeleteContentUndoUnit.cs
- MessageEncodingBindingElement.cs
- Stylesheet.cs
- AddInStore.cs
- DynamicEndpointElement.cs
- VisualStyleRenderer.cs
- MessageQueueException.cs
- CommittableTransaction.cs
- RequestQueryProcessor.cs
- Rethrow.cs
- DateTimeOffsetConverter.cs
- TextDocumentView.cs
- AssemblyResolver.cs
- HyperLinkStyle.cs
- Trigger.cs
- CaseInsensitiveOrdinalStringComparer.cs
- DetailsViewDeleteEventArgs.cs
- CompositeActivityDesigner.cs
- GridViewColumnHeader.cs
- EntityDesignerDataSourceView.cs
- UdpAnnouncementEndpoint.cs
- ProtocolsConfiguration.cs
- ObjectNotFoundException.cs