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
- WebPartRestoreVerb.cs
- NumberFormatInfo.cs
- HttpConfigurationContext.cs
- XmlCharCheckingReader.cs
- NativeBuffer.cs
- OleDbException.cs
- ReferencedCollectionType.cs
- WorkflowViewStateService.cs
- MimeBasePart.cs
- HashMembershipCondition.cs
- BaseDataList.cs
- ProxyWebPart.cs
- Pool.cs
- DictionaryBase.cs
- ContractNamespaceAttribute.cs
- DataBoundControlDesigner.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- HostSecurityManager.cs
- GradientStopCollection.cs
- LongSumAggregationOperator.cs
- EventSourceCreationData.cs
- TrackingProfileManager.cs
- Grant.cs
- InputScopeNameConverter.cs
- XmlNavigatorFilter.cs
- TextServicesCompartmentContext.cs
- PrintControllerWithStatusDialog.cs
- ArrayList.cs
- RefType.cs
- XmlDigitalSignatureProcessor.cs
- ExportOptions.cs
- KeyInstance.cs
- BuilderInfo.cs
- Schema.cs
- IgnoreSectionHandler.cs
- ThrowHelper.cs
- __Error.cs
- Rotation3DAnimationUsingKeyFrames.cs
- PassportPrincipal.cs
- SqlStream.cs
- WindowsGraphics.cs
- WindowsSecurityToken.cs
- PersonalizationEntry.cs
- RegexMatchCollection.cs
- KeyValuePairs.cs
- ReservationCollection.cs
- EntityProxyFactory.cs
- AnnouncementEventArgs.cs
- MultipleViewPattern.cs
- AutoResetEvent.cs
- SqlDataSourceEnumerator.cs
- MethodBody.cs
- XmlILModule.cs
- EntitySetBaseCollection.cs
- RuleSettingsCollection.cs
- SID.cs
- RelationshipDetailsRow.cs
- Add.cs
- WebServiceBindingAttribute.cs
- DataGridState.cs
- FormsIdentity.cs
- PersonalizablePropertyEntry.cs
- Win32.cs
- FloatAverageAggregationOperator.cs
- FusionWrap.cs
- PrimaryKeyTypeConverter.cs
- DebugView.cs
- RouteCollection.cs
- XmlIlGenerator.cs
- DrawListViewItemEventArgs.cs
- RemotingAttributes.cs
- OleDragDropHandler.cs
- CopyAction.cs
- ObjectParameterCollection.cs
- UniqueSet.cs
- Base64Stream.cs
- TitleStyle.cs
- SelectionEditor.cs
- OdbcRowUpdatingEvent.cs
- ToolStripDropDownItem.cs
- CodeGotoStatement.cs
- X509CertificateStore.cs
- StreamAsIStream.cs
- BuiltInPermissionSets.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- RootProfilePropertySettingsCollection.cs
- EventSourceCreationData.cs
- ConversionContext.cs
- RuleAttributes.cs
- TextRangeSerialization.cs
- PaintEvent.cs
- XmlComment.cs
- Point3DAnimationBase.cs
- RawUIStateInputReport.cs
- prompt.cs
- InstanceDataCollection.cs
- RC2CryptoServiceProvider.cs
- XmlUtilWriter.cs
- IntegerValidator.cs
- SystemInformation.cs