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
- WorkflowValidationFailedException.cs
- HandlerBase.cs
- CommandValueSerializer.cs
- OleDbConnection.cs
- DebugControllerThread.cs
- Security.cs
- XomlCompilerHelpers.cs
- Pair.cs
- ConfigurationPropertyAttribute.cs
- RectConverter.cs
- ECDsaCng.cs
- TrustLevel.cs
- AuthStoreRoleProvider.cs
- SizeAnimationBase.cs
- RandomNumberGenerator.cs
- FormsAuthenticationModule.cs
- unsafenativemethodsother.cs
- PropertyIDSet.cs
- ResourceDictionaryCollection.cs
- SendActivityDesignerTheme.cs
- FixedDocument.cs
- SecurityTokenAuthenticator.cs
- SafeCertificateContext.cs
- KeyProperty.cs
- BulletDecorator.cs
- SignatureToken.cs
- DependencyPropertyHelper.cs
- DBConcurrencyException.cs
- WindowsListViewScroll.cs
- SendMailErrorEventArgs.cs
- DbParameterCollectionHelper.cs
- UriScheme.cs
- CollectionChangedEventManager.cs
- ScrollProviderWrapper.cs
- InvalidOperationException.cs
- CmsInterop.cs
- EllipticalNodeOperations.cs
- DoubleIndependentAnimationStorage.cs
- AudioLevelUpdatedEventArgs.cs
- Track.cs
- BindingParameterCollection.cs
- Geometry.cs
- UnmanagedMemoryStream.cs
- Rotation3DAnimation.cs
- CodeGroup.cs
- DataRowComparer.cs
- UnsafePeerToPeerMethods.cs
- HtmlForm.cs
- OracleMonthSpan.cs
- PropertyMetadata.cs
- PointF.cs
- RuleValidation.cs
- TextTabProperties.cs
- ShaderEffect.cs
- XmlLinkedNode.cs
- ListenDesigner.cs
- GenericIdentity.cs
- KeyTime.cs
- JsonWriter.cs
- ArgumentDirectionHelper.cs
- smtppermission.cs
- MemberRestriction.cs
- JsonStringDataContract.cs
- ExpressionNode.cs
- TreeNodeStyle.cs
- DiscoveryDocument.cs
- HttpProcessUtility.cs
- TypeGeneratedEventArgs.cs
- ApplicationFileCodeDomTreeGenerator.cs
- DataGridViewRowPrePaintEventArgs.cs
- _DomainName.cs
- WorkItem.cs
- EntitySetBaseCollection.cs
- ProxyManager.cs
- TableColumn.cs
- PipeException.cs
- Rectangle.cs
- TextEditorContextMenu.cs
- XPathNavigator.cs
- ExpressionHelper.cs
- DropDownButton.cs
- EntityDataSourceStatementEditorForm.cs
- PagedDataSource.cs
- DataTemplateSelector.cs
- ToolStrip.cs
- DataContractJsonSerializer.cs
- SoapCodeExporter.cs
- WindowsIPAddress.cs
- DataGrid.cs
- UserControlParser.cs
- PersonalizationProviderHelper.cs
- CharacterString.cs
- ComponentResourceKeyConverter.cs
- _ProxyChain.cs
- Types.cs
- BuildResult.cs
- UnsafeNativeMethods.cs
- LinkDescriptor.cs
- MetabaseSettingsIis7.cs
- URLMembershipCondition.cs