Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / RoleProviderPrincipal.cs / 2 / RoleProviderPrincipal.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System; using System.Runtime.CompilerServices; using System.ServiceModel; using System.Security.Principal; using System.ServiceModel.Security; using System.Web.Security; sealed class RoleProviderPrincipal : IPrincipal { static bool defaultRoleProviderSet = false; static object defaultRoleProvider; object roleProvider; ServiceSecurityContext securityContext; public RoleProviderPrincipal(object roleProvider, ServiceSecurityContext securityContext) { this.roleProvider = roleProvider; this.securityContext = securityContext; } public IIdentity Identity { get { return this.securityContext.PrimaryIdentity; } } [MethodImpl(MethodImplOptions.NoInlining)] public bool IsInRole(string role) { object roleProvider = this.roleProvider ?? GetRoleProvider(); RoleProvider rp = roleProvider as RoleProvider; if ( rp != null) { return rp.IsUserInRole(this.securityContext.PrimaryIdentity.Name, role); } return false; } // This method used to be static and had this comment, made instance as part of AH fix [[....]] 8/2008 // Perf benefit: Roles.Enabled call is expensive due to CAS. [MethodImpl(MethodImplOptions.NoInlining)] object GetRoleProvider() { if (!defaultRoleProviderSet) { defaultRoleProvider = Roles.Enabled ? Roles.Provider : null; defaultRoleProviderSet = true; } return defaultRoleProvider; } } } // 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
- HuffModule.cs
- Matrix.cs
- MDIWindowDialog.cs
- AnimationLayer.cs
- WebRequestModuleElementCollection.cs
- ValidationHelper.cs
- DomainUpDown.cs
- HtmlFormWrapper.cs
- MappingItemCollection.cs
- IdentifierCollection.cs
- SocketManager.cs
- UriTemplatePathSegment.cs
- PreloadedPackages.cs
- OrthographicCamera.cs
- TextElementCollectionHelper.cs
- FontCacheUtil.cs
- MessageSecurityOverMsmqElement.cs
- StrokeCollection.cs
- TypeCacheManager.cs
- MenuItem.cs
- SmtpLoginAuthenticationModule.cs
- UrlPath.cs
- DummyDataSource.cs
- MulticastNotSupportedException.cs
- FragmentQueryKB.cs
- CommonXSendMessage.cs
- PluralizationService.cs
- Latin1Encoding.cs
- SqlProviderManifest.cs
- AnimationTimeline.cs
- DefaultSerializationProviderAttribute.cs
- Cloud.cs
- WebPartDescription.cs
- XPathNavigatorReader.cs
- ControlBuilder.cs
- ShaperBuffers.cs
- XmlEntityReference.cs
- MachineKeyValidationConverter.cs
- BuildManager.cs
- DirectionalLight.cs
- WebSysDisplayNameAttribute.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SQLGuid.cs
- CodeBinaryOperatorExpression.cs
- Hyperlink.cs
- Span.cs
- TextContainer.cs
- EmptyControlCollection.cs
- TextEncodedRawTextWriter.cs
- PerfService.cs
- MenuTracker.cs
- mediaclock.cs
- _BaseOverlappedAsyncResult.cs
- SqlInternalConnectionSmi.cs
- IUnknownConstantAttribute.cs
- Stack.cs
- FlagsAttribute.cs
- DataRowCollection.cs
- _SSPIWrapper.cs
- X509Extension.cs
- ClientConfigurationSystem.cs
- ViewManager.cs
- BrowserCapabilitiesCodeGenerator.cs
- VariableExpressionConverter.cs
- NamespaceList.cs
- SystemIPInterfaceStatistics.cs
- DelegateSerializationHolder.cs
- XD.cs
- CqlErrorHelper.cs
- RegionInfo.cs
- SessionPageStatePersister.cs
- ConnectionInterfaceCollection.cs
- BindStream.cs
- HtmlPageAdapter.cs
- SmtpDateTime.cs
- DesignerDataParameter.cs
- UnsafeNativeMethodsCLR.cs
- CollectionAdapters.cs
- TransportOutputChannel.cs
- XmlWhitespace.cs
- DateTimeSerializationSection.cs
- EmptyEnumerable.cs
- ZipPackage.cs
- RuleInfoComparer.cs
- DbXmlEnabledProviderManifest.cs
- BadImageFormatException.cs
- StreamingContext.cs
- TargetConverter.cs
- Automation.cs
- BamlRecords.cs
- Rect3DConverter.cs
- SchemaNamespaceManager.cs
- ContentFilePart.cs
- Accessible.cs
- ComplexPropertyEntry.cs
- KeysConverter.cs
- CommandConverter.cs
- PersistenceException.cs
- ResourceContainer.cs
- DesignerAttribute.cs