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
- Error.cs
- DefaultHttpHandler.cs
- DataGridViewBindingCompleteEventArgs.cs
- GeometryValueSerializer.cs
- OracleRowUpdatingEventArgs.cs
- ScriptBehaviorDescriptor.cs
- RequestSecurityTokenResponseCollection.cs
- RegexReplacement.cs
- GrammarBuilder.cs
- Activator.cs
- httpstaticobjectscollection.cs
- ObservableCollection.cs
- ResourceSet.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SimpleWebHandlerParser.cs
- BoolExpr.cs
- Timeline.cs
- KernelTypeValidation.cs
- TdsRecordBufferSetter.cs
- XmlAttributeProperties.cs
- TranslateTransform3D.cs
- DisplayMemberTemplateSelector.cs
- ProgressiveCrcCalculatingStream.cs
- TablePatternIdentifiers.cs
- EnumConverter.cs
- SqlCacheDependencyDatabaseCollection.cs
- DecimalAnimationUsingKeyFrames.cs
- querybuilder.cs
- MessagePropertyFilter.cs
- EntityDesignerUtils.cs
- EdmTypeAttribute.cs
- PageVisual.cs
- TypeSystem.cs
- GenerateTemporaryTargetAssembly.cs
- ComponentEditorForm.cs
- BypassElement.cs
- AttachmentCollection.cs
- DbProviderFactory.cs
- DataGridCellsPanel.cs
- Mutex.cs
- DataGridState.cs
- BamlRecordReader.cs
- ThumbAutomationPeer.cs
- Partitioner.cs
- DataPagerCommandEventArgs.cs
- DataSourceHelper.cs
- ItemMap.cs
- SqlGenerator.cs
- TempEnvironment.cs
- TraceListener.cs
- Bold.cs
- ToolStripCustomTypeDescriptor.cs
- PeerNameRecord.cs
- StringBuilder.cs
- ScriptDescriptor.cs
- BuildManagerHost.cs
- EntityDataSourceUtil.cs
- NativeMethodsOther.cs
- ElementNotEnabledException.cs
- DbBuffer.cs
- Application.cs
- ModelItemKeyValuePair.cs
- TreeBuilderXamlTranslator.cs
- BitmapEffectGeneralTransform.cs
- ObjectListItemCollection.cs
- ControlSerializer.cs
- ExtendedPropertyDescriptor.cs
- InternalResources.cs
- RuntimeWrappedException.cs
- DictionaryGlobals.cs
- TabPageDesigner.cs
- EntityRecordInfo.cs
- documentsequencetextcontainer.cs
- SortKey.cs
- DataGridViewColumn.cs
- TrackingProfileDeserializationException.cs
- SmiContextFactory.cs
- DataFieldConverter.cs
- PopupRootAutomationPeer.cs
- Trace.cs
- CancellationToken.cs
- documentsequencetextpointer.cs
- InfoCardSymmetricCrypto.cs
- TextLineBreak.cs
- SQLResource.cs
- SemanticBasicElement.cs
- SecurityProtocolFactory.cs
- SessionState.cs
- WebServiceTypeData.cs
- HttpModuleCollection.cs
- RemoteX509AsymmetricSecurityKey.cs
- ReceiveDesigner.xaml.cs
- WebPartMovingEventArgs.cs
- ToggleButton.cs
- GetPageNumberCompletedEventArgs.cs
- BitmapEffectOutputConnector.cs
- DoubleLinkListEnumerator.cs
- IdentitySection.cs
- FileIOPermission.cs
- KeysConverter.cs