Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DataListItemEventArgs.cs
- HebrewNumber.cs
- PcmConverter.cs
- RadioButtonList.cs
- ProfileSettingsCollection.cs
- OutputCacheSection.cs
- SystemUnicastIPAddressInformation.cs
- AsymmetricSecurityProtocol.cs
- HiddenField.cs
- TextDecorationCollectionConverter.cs
- PageAction.cs
- MessageEnumerator.cs
- XmlExtensionFunction.cs
- SchemaImporterExtensionsSection.cs
- EventSchemaTraceListener.cs
- WebPartRestoreVerb.cs
- _SslSessionsCache.cs
- BypassElementCollection.cs
- srgsitem.cs
- WebReferencesBuildProvider.cs
- RedistVersionInfo.cs
- Timer.cs
- DataGrid.cs
- CellParaClient.cs
- WebBrowserPermission.cs
- ContextMenuService.cs
- MouseGesture.cs
- ConnectionStringsExpressionEditor.cs
- FreezableCollection.cs
- MessageSecurityProtocolFactory.cs
- _IPv6Address.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- UpdatePanel.cs
- HitTestParameters3D.cs
- GeometryValueSerializer.cs
- BinaryCommonClasses.cs
- DataColumnMappingCollection.cs
- TemplateBindingExpression.cs
- FreeFormPanel.cs
- NameValuePermission.cs
- RecipientInfo.cs
- TransactionScope.cs
- ExtenderControl.cs
- HandlerBase.cs
- TextModifier.cs
- RightsManagementEncryptedStream.cs
- WebPartDescription.cs
- X509ServiceCertificateAuthentication.cs
- TextPointer.cs
- ColorAnimationBase.cs
- CurrentTimeZone.cs
- ResolveMatches11.cs
- XmlTypeAttribute.cs
- XPathNodeList.cs
- ParseNumbers.cs
- CodeTypeDeclaration.cs
- SchemaSetCompiler.cs
- Select.cs
- RegistryKey.cs
- Select.cs
- FunctionNode.cs
- SoapAttributeAttribute.cs
- GridPatternIdentifiers.cs
- _UriSyntax.cs
- _SpnDictionary.cs
- CustomSignedXml.cs
- Quaternion.cs
- UIntPtr.cs
- AssociationSetMetadata.cs
- RequestQueryParser.cs
- EntityDataSourceContextCreatedEventArgs.cs
- NodeInfo.cs
- SortedDictionary.cs
- SponsorHelper.cs
- DesignerAdRotatorAdapter.cs
- TraceHandler.cs
- RuntimeArgument.cs
- ElementFactory.cs
- SessionEndingCancelEventArgs.cs
- XPathAncestorIterator.cs
- ProfileSettings.cs
- WebPartExportVerb.cs
- SqlMethods.cs
- COSERVERINFO.cs
- KeyInstance.cs
- TransactedReceiveScope.cs
- IgnorePropertiesAttribute.cs
- CultureInfoConverter.cs
- XmlIlVisitor.cs
- ComponentConverter.cs
- Base64Stream.cs
- DataGridLength.cs
- MimeTypePropertyAttribute.cs
- EmptyImpersonationContext.cs
- WebPartMinimizeVerb.cs
- PeerName.cs
- Quad.cs
- TdsParserSessionPool.cs
- ProviderConnectionPoint.cs
- DataPagerFieldCollection.cs