Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / xsp / System / Web / Extensions / ApplicationServices / RoleService.cs / 1 / RoleService.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.ApplicationServices { using System; using System.Diagnostics.CodeAnalysis; using System.ServiceModel; using System.ServiceModel.Activation; using System.ServiceModel.Configuration; using System.Runtime.Serialization; using System.Web; using System.Web.Security; using System.Web.Configuration; using System.Web.Management; using System.Web.Resources; using System.Security.Principal; using System.Web.Hosting; using System.Threading; using System.Configuration.Provider; using System.Security.Permissions; [ AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required), AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), ServiceContract(Namespace = "http://asp.net/ApplicationServices/v200"), ServiceBehavior(Namespace="http://asp.net/ApplicationServices/v200", InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple) ] public class RoleService { private static object _selectingProviderEventHandlerLock = new object(); private static EventHandler_selectingProvider; public static event EventHandler SelectingProvider { add { lock (_selectingProviderEventHandlerLock) { _selectingProvider += value; } } remove { lock (_selectingProviderEventHandlerLock) { _selectingProvider -= value; } } } private static void EnsureProviderEnabled() { if (!Roles.Enabled) { throw new ProviderException(AtlasWeb.RoleService_RolesFeatureNotEnabled); } } private RoleProvider GetRoleProvider(IPrincipal user) { string providerName = Roles.Provider.Name; SelectingProviderEventArgs args = new SelectingProviderEventArgs(user, providerName); OnSelectingProvider(args); providerName = args.ProviderName; RoleProvider provider = Roles.Providers[providerName]; if (provider == null) { throw new ProviderException(AtlasWeb.RoleService_RoleProviderNotFound); } return provider; } [OperationContract] public string[] GetRolesForCurrentUser() { try { ApplicationServiceHelper.EnsureRoleServiceEnabled(); EnsureProviderEnabled(); IPrincipal user = ApplicationServiceHelper.GetCurrentUser(HttpContext.Current); string username = ApplicationServiceHelper.GetUserName(user); RoleProvider provider = GetRoleProvider(user); return provider.GetRolesForUser(username); } catch (Exception e) { LogException(e); throw; } } [OperationContract] public bool IsCurrentUserInRole(string role) { if (role == null) { throw new ArgumentNullException("role"); } try { ApplicationServiceHelper.EnsureRoleServiceEnabled(); EnsureProviderEnabled(); IPrincipal user = ApplicationServiceHelper.GetCurrentUser(HttpContext.Current); string username = ApplicationServiceHelper.GetUserName(user); RoleProvider provider = GetRoleProvider(user); return provider.IsUserInRole(username, role); } catch (Exception e) { LogException(e); throw; } } private void LogException(Exception e) { WebServiceErrorEvent errorevent = new WebServiceErrorEvent(AtlasWeb.UnhandledExceptionEventLogMessage, this, e); errorevent.Raise(); } private void OnSelectingProvider(SelectingProviderEventArgs e) { EventHandler handler = _selectingProvider; if (handler != null) { handler(this, e); } } //hiding public constructor internal RoleService() { } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.ApplicationServices { using System; using System.Diagnostics.CodeAnalysis; using System.ServiceModel; using System.ServiceModel.Activation; using System.ServiceModel.Configuration; using System.Runtime.Serialization; using System.Web; using System.Web.Security; using System.Web.Configuration; using System.Web.Management; using System.Web.Resources; using System.Security.Principal; using System.Web.Hosting; using System.Threading; using System.Configuration.Provider; using System.Security.Permissions; [ AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required), AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), ServiceContract(Namespace = "http://asp.net/ApplicationServices/v200"), ServiceBehavior(Namespace="http://asp.net/ApplicationServices/v200", InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple) ] public class RoleService { private static object _selectingProviderEventHandlerLock = new object(); private static EventHandler_selectingProvider; public static event EventHandler SelectingProvider { add { lock (_selectingProviderEventHandlerLock) { _selectingProvider += value; } } remove { lock (_selectingProviderEventHandlerLock) { _selectingProvider -= value; } } } private static void EnsureProviderEnabled() { if (!Roles.Enabled) { throw new ProviderException(AtlasWeb.RoleService_RolesFeatureNotEnabled); } } private RoleProvider GetRoleProvider(IPrincipal user) { string providerName = Roles.Provider.Name; SelectingProviderEventArgs args = new SelectingProviderEventArgs(user, providerName); OnSelectingProvider(args); providerName = args.ProviderName; RoleProvider provider = Roles.Providers[providerName]; if (provider == null) { throw new ProviderException(AtlasWeb.RoleService_RoleProviderNotFound); } return provider; } [OperationContract] public string[] GetRolesForCurrentUser() { try { ApplicationServiceHelper.EnsureRoleServiceEnabled(); EnsureProviderEnabled(); IPrincipal user = ApplicationServiceHelper.GetCurrentUser(HttpContext.Current); string username = ApplicationServiceHelper.GetUserName(user); RoleProvider provider = GetRoleProvider(user); return provider.GetRolesForUser(username); } catch (Exception e) { LogException(e); throw; } } [OperationContract] public bool IsCurrentUserInRole(string role) { if (role == null) { throw new ArgumentNullException("role"); } try { ApplicationServiceHelper.EnsureRoleServiceEnabled(); EnsureProviderEnabled(); IPrincipal user = ApplicationServiceHelper.GetCurrentUser(HttpContext.Current); string username = ApplicationServiceHelper.GetUserName(user); RoleProvider provider = GetRoleProvider(user); return provider.IsUserInRole(username, role); } catch (Exception e) { LogException(e); throw; } } private void LogException(Exception e) { WebServiceErrorEvent errorevent = new WebServiceErrorEvent(AtlasWeb.UnhandledExceptionEventLogMessage, this, e); errorevent.Raise(); } private void OnSelectingProvider(SelectingProviderEventArgs e) { EventHandler handler = _selectingProvider; if (handler != null) { handler(this, e); } } //hiding public constructor internal RoleService() { } } } // 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
- TextBounds.cs
- PersistenceMetadataNamespace.cs
- MenuCommandService.cs
- BitArray.cs
- DuplicateDetector.cs
- AnnotationResourceChangedEventArgs.cs
- QuaternionAnimationUsingKeyFrames.cs
- RequestCacheManager.cs
- CellLabel.cs
- altserialization.cs
- ClientConfigurationHost.cs
- CodeDOMProvider.cs
- MetadataCache.cs
- ScriptRegistrationManager.cs
- HtmlImage.cs
- CompiledScopeCriteria.cs
- MobileTextWriter.cs
- XmlQueryType.cs
- DelegateTypeInfo.cs
- HttpAsyncResult.cs
- DynamicDataRoute.cs
- ButtonChrome.cs
- DllHostInitializer.cs
- PipelineModuleStepContainer.cs
- columnmapfactory.cs
- DataGridLength.cs
- KeyBinding.cs
- TableColumnCollection.cs
- VisualStyleElement.cs
- ClientRuntimeConfig.cs
- WindowsListViewGroupSubsetLink.cs
- EntityModelSchemaGenerator.cs
- glyphs.cs
- SqlCaseSimplifier.cs
- WindowsSolidBrush.cs
- XamlReaderHelper.cs
- CatchBlock.cs
- ResXResourceSet.cs
- ContentType.cs
- ProxyFragment.cs
- AssemblyAttributes.cs
- TreeNodeCollection.cs
- VerticalAlignConverter.cs
- TextTreeRootTextBlock.cs
- ProfileProvider.cs
- XPathPatternBuilder.cs
- Set.cs
- ExpressionHelper.cs
- ClipboardData.cs
- JavaScriptString.cs
- DateTimeOffsetAdapter.cs
- ChooseAction.cs
- InvariantComparer.cs
- PageThemeBuildProvider.cs
- PathHelper.cs
- InputEventArgs.cs
- WebHttpSecurity.cs
- DecimalAverageAggregationOperator.cs
- TextEffect.cs
- RC2CryptoServiceProvider.cs
- ClientBase.cs
- CommonDialog.cs
- BufferModesCollection.cs
- DesignerImageAdapter.cs
- FocusTracker.cs
- ImageCodecInfoPrivate.cs
- SqlStream.cs
- DataGridViewCellParsingEventArgs.cs
- HwndMouseInputProvider.cs
- ListManagerBindingsCollection.cs
- DescendantBaseQuery.cs
- Highlights.cs
- XmlSubtreeReader.cs
- ComplusTypeValidator.cs
- MetadataUtilsSmi.cs
- NonClientArea.cs
- GeneratedView.cs
- SourceInterpreter.cs
- DataContext.cs
- XmlNamespaceMapping.cs
- WmlCommandAdapter.cs
- NamedObjectList.cs
- SessionStateModule.cs
- _AcceptOverlappedAsyncResult.cs
- ResourceAttributes.cs
- ReadOnlyObservableCollection.cs
- _DomainName.cs
- TranslateTransform3D.cs
- MethodCallTranslator.cs
- SynchronousChannel.cs
- MouseActionValueSerializer.cs
- XmlDataSourceNodeDescriptor.cs
- HotSpot.cs
- WinFormsSecurity.cs
- PtsHost.cs
- TryExpression.cs
- MouseGestureValueSerializer.cs
- PeerNameRegistration.cs
- TransformDescriptor.cs
- GridViewSortEventArgs.cs