Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Role / WebWorkflowRole.cs / 1305376 / WebWorkflowRole.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;
using System.Web.Security;
using System.Security.Principal;
using System.Configuration.Provider;
namespace System.Workflow.Activities
{
[Serializable]
public class WebWorkflowRole : WorkflowRole
{
private string m_roleName;
private string m_roleProvider;
public override string Name
{
get
{
return this.m_roleName;
}
set
{
if (value == null)
throw new ArgumentNullException("value");
this.m_roleName = value;
}
}
public string RoleProvider
{
get
{
return this.m_roleProvider;
}
set
{
this.m_roleProvider = value;
}
}
public WebWorkflowRole(string roleName)
{
if (null == roleName)
{
throw new ArgumentNullException("roleName");
}
this.m_roleName = roleName;
this.m_roleProvider = null;
}
public WebWorkflowRole(string roleName, string provider)
{
if (null == roleName)
{
throw new ArgumentNullException("roleName");
}
this.m_roleName = roleName;
this.m_roleProvider = provider;
}
public override IList GetIdentities()
{
List identities = new List();
System.Web.Security.RoleProvider rp = GetRoleProvider();
identities.AddRange(rp.GetUsersInRole(Name));
return identities;
}
public override bool IncludesIdentity(string identity)
{
System.Web.Security.RoleProvider rp = GetRoleProvider();
return rp.IsUserInRole(identity, Name);
}
private System.Web.Security.RoleProvider GetRoleProvider()
{
if (this.RoleProvider == null)
return System.Web.Security.Roles.Provider;
RoleProvider rp = Roles.Providers[this.RoleProvider];
if (rp == null)
throw new ProviderException(SR.GetString(SR.Error_RoleProviderNotAvailableOrEnabled, this.RoleProvider));
return rp;
}
}
}
// 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
- SendKeys.cs
- SiteMembershipCondition.cs
- WarningException.cs
- ResourceReferenceExpressionConverter.cs
- TypeExtensionSerializer.cs
- StreamUpdate.cs
- DataGridViewToolTip.cs
- ResXFileRef.cs
- SplitterDesigner.cs
- BrowserCapabilitiesCodeGenerator.cs
- SessionEndingEventArgs.cs
- SerializeAbsoluteContext.cs
- PageEventArgs.cs
- HMACSHA256.cs
- Condition.cs
- SystemIPInterfaceStatistics.cs
- RectangleF.cs
- SqlBuilder.cs
- InternalEnumValidator.cs
- HtmlFormAdapter.cs
- ReferentialConstraint.cs
- DataPagerFieldCollection.cs
- SchemaMerger.cs
- PartitionResolver.cs
- LoadMessageLogger.cs
- AutomationEvent.cs
- DirectoryInfo.cs
- HyperlinkAutomationPeer.cs
- EventlogProvider.cs
- CodeAssignStatement.cs
- PingOptions.cs
- UnsafeNativeMethods.cs
- complextypematerializer.cs
- CombinedGeometry.cs
- IpcClientManager.cs
- CodeConditionStatement.cs
- SchemaConstraints.cs
- SoapWriter.cs
- ButtonPopupAdapter.cs
- CngAlgorithm.cs
- MessageBodyMemberAttribute.cs
- XmlSchemaGroup.cs
- XPathSelfQuery.cs
- XmlSchemaException.cs
- HttpCapabilitiesBase.cs
- PenThreadPool.cs
- CultureInfoConverter.cs
- TextElement.cs
- UserControlParser.cs
- BooleanProjectedSlot.cs
- MultiPageTextView.cs
- GeneralTransformCollection.cs
- PageRequestManager.cs
- DataGridRow.cs
- SafeIUnknown.cs
- TakeOrSkipWhileQueryOperator.cs
- Transaction.cs
- XmlDataSourceView.cs
- EdmPropertyAttribute.cs
- BlockUIContainer.cs
- Overlapped.cs
- TypeDependencyAttribute.cs
- ContentFilePart.cs
- KoreanCalendar.cs
- EtwTrace.cs
- Line.cs
- StylusPointProperties.cs
- _CommandStream.cs
- TransformerInfo.cs
- XslVisitor.cs
- securitymgrsite.cs
- BamlLocalizationDictionary.cs
- ParameterCollection.cs
- RemotingConfiguration.cs
- NullableLongSumAggregationOperator.cs
- XmlEntity.cs
- XmlDocumentViewSchema.cs
- MouseCaptureWithinProperty.cs
- StreamGeometry.cs
- LayoutTable.cs
- ResourceExpressionBuilder.cs
- AsyncResult.cs
- Security.cs
- DependencyPropertyKey.cs
- AnnotationHelper.cs
- RTTrackingProfile.cs
- RoleService.cs
- AppDomainManager.cs
- EmptyReadOnlyDictionaryInternal.cs
- MultiByteCodec.cs
- ConfigurationProperty.cs
- Win32Exception.cs
- ListViewGroupCollectionEditor.cs
- DataObject.cs
- RIPEMD160Managed.cs
- SqlNotificationRequest.cs
- DPAPIProtectedConfigurationProvider.cs
- Mouse.cs
- DataTable.cs
- ElementHostAutomationPeer.cs