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
- QuestionEventArgs.cs
- Simplifier.cs
- TimeSpanValidatorAttribute.cs
- FileUtil.cs
- wgx_exports.cs
- regiisutil.cs
- AttributeEmitter.cs
- ChameleonKey.cs
- Emitter.cs
- TimeZone.cs
- IfJoinedCondition.cs
- ThaiBuddhistCalendar.cs
- GradientStop.cs
- MarkerProperties.cs
- SecurityPolicySection.cs
- Helpers.cs
- RuntimeHandles.cs
- ConfigXmlComment.cs
- input.cs
- WmpBitmapDecoder.cs
- ErrorProvider.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SeverityFilter.cs
- Highlights.cs
- TouchPoint.cs
- DataMemberAttribute.cs
- Function.cs
- XmlCDATASection.cs
- AnonymousIdentificationModule.cs
- EventManager.cs
- ReliableSessionBindingElement.cs
- DispatcherExceptionEventArgs.cs
- CompoundFileStorageReference.cs
- ComEventsHelper.cs
- FileLevelControlBuilderAttribute.cs
- BaseAsyncResult.cs
- SqlFunctionAttribute.cs
- FunctionNode.cs
- ServiceOperationParameter.cs
- VirtualPathProvider.cs
- GeneralTransform.cs
- RoutedEvent.cs
- MarshalByRefObject.cs
- XamlPathDataSerializer.cs
- EntityModelSchemaGenerator.cs
- WebMessageEncodingBindingElement.cs
- Transaction.cs
- ContractHandle.cs
- PermissionToken.cs
- ResolvedKeyFrameEntry.cs
- MD5HashHelper.cs
- AccessText.cs
- SchemaNotation.cs
- FindCriteria.cs
- returneventsaver.cs
- ListMarkerLine.cs
- XPathNodeIterator.cs
- DetailsViewPagerRow.cs
- SafeNativeMethods.cs
- LayoutTableCell.cs
- WindowVisualStateTracker.cs
- NotificationContext.cs
- DbParameterCollectionHelper.cs
- FormViewPageEventArgs.cs
- SendMailErrorEventArgs.cs
- DesignerAdapterAttribute.cs
- CodeTryCatchFinallyStatement.cs
- TCEAdapterGenerator.cs
- ToolBarButtonClickEvent.cs
- PriorityBinding.cs
- DbUpdateCommandTree.cs
- basecomparevalidator.cs
- MemoryMappedViewStream.cs
- TdsParserHelperClasses.cs
- AssemblyInfo.cs
- ClipboardData.cs
- SocketStream.cs
- DesignerLoader.cs
- Localizer.cs
- StylusButtonCollection.cs
- CrossSiteScriptingValidation.cs
- __Error.cs
- GridViewDeletedEventArgs.cs
- AlphabeticalEnumConverter.cs
- HostedHttpRequestAsyncResult.cs
- UserUseLicenseDictionaryLoader.cs
- ResourceReader.cs
- CodeSnippetTypeMember.cs
- DynamicPropertyHolder.cs
- TransferRequestHandler.cs
- HandoffBehavior.cs
- NodeFunctions.cs
- SendAgentStatusRequest.cs
- ApplicationContext.cs
- DataSetSchema.cs
- UdpSocketReceiveManager.cs
- OleDbPropertySetGuid.cs
- DBNull.cs
- ColorConvertedBitmap.cs
- NotifyParentPropertyAttribute.cs