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
- WpfPayload.cs
- HtmlLink.cs
- Timeline.cs
- NullableIntSumAggregationOperator.cs
- GiveFeedbackEvent.cs
- SQLSingleStorage.cs
- ChunkedMemoryStream.cs
- Int32AnimationBase.cs
- ChildrenQuery.cs
- BaseCodePageEncoding.cs
- XmlUtf8RawTextWriter.cs
- RoleManagerEventArgs.cs
- TextBoxBase.cs
- DockEditor.cs
- InstanceDescriptor.cs
- OletxTransactionManager.cs
- GacUtil.cs
- EndCreateSecurityTokenRequest.cs
- OdbcConnectionOpen.cs
- InternalDispatchObject.cs
- Misc.cs
- EntityViewGenerationConstants.cs
- TextTreeFixupNode.cs
- ExtensionSimplifierMarkupObject.cs
- CodeAccessPermission.cs
- SchemaMapping.cs
- PropertyInformationCollection.cs
- ComponentDispatcher.cs
- ListenerConfig.cs
- EmptyEnumerator.cs
- CacheVirtualItemsEvent.cs
- XPathNodePointer.cs
- BaseDataListPage.cs
- InputMethodStateTypeInfo.cs
- FtpCachePolicyElement.cs
- SecurityRuntime.cs
- HttpListenerRequest.cs
- ComplexObject.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ResourcePermissionBase.cs
- SerializationStore.cs
- CustomAttributeFormatException.cs
- EntityViewGenerator.cs
- PolygonHotSpot.cs
- XsdCachingReader.cs
- AnnouncementEndpoint.cs
- ResXResourceSet.cs
- MemberJoinTreeNode.cs
- WindowVisualStateTracker.cs
- WpfWebRequestHelper.cs
- ConnectionStringsSection.cs
- ComponentChangedEvent.cs
- EntityDataSourceContextCreatedEventArgs.cs
- TimeIntervalCollection.cs
- DesignerHierarchicalDataSourceView.cs
- _IPv4Address.cs
- PartialToken.cs
- ListItem.cs
- DecoderFallback.cs
- DataKeyCollection.cs
- LoginName.cs
- Win32MouseDevice.cs
- ReadWriteSpinLock.cs
- UserNameSecurityTokenProvider.cs
- ToolStripItemRenderEventArgs.cs
- ThumbButtonInfoCollection.cs
- SqlMetaData.cs
- GB18030Encoding.cs
- PrePostDescendentsWalker.cs
- FormsIdentity.cs
- LinearGradientBrush.cs
- TabletDevice.cs
- ByteStreamMessageEncoderFactory.cs
- RegexWorker.cs
- IconHelper.cs
- GridViewRowEventArgs.cs
- OLEDB_Enum.cs
- TextBoxBase.cs
- QuaternionAnimation.cs
- __ConsoleStream.cs
- SimpleModelProvider.cs
- SystemIPInterfaceProperties.cs
- FieldBuilder.cs
- HandledMouseEvent.cs
- DependencyPropertyKind.cs
- UserUseLicenseDictionaryLoader.cs
- ManagementOptions.cs
- AssemblyNameProxy.cs
- SpeakCompletedEventArgs.cs
- PathSegmentCollection.cs
- FormViewInsertedEventArgs.cs
- SecurityPolicySection.cs
- Padding.cs
- GroupBox.cs
- FolderBrowserDialog.cs
- WebBrowserBase.cs
- RelationshipEndMember.cs
- HttpCacheParams.cs
- ConsoleKeyInfo.cs