Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Principal / GenericPrincipal.cs / 1305376 / GenericPrincipal.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // GenericPrincipal.cs // namespace System.Security.Principal { using System.Runtime.Remoting; using System; using System.Security.Util; using System.Globalization; using System.Diagnostics.Contracts; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class GenericPrincipal : IPrincipal { private IIdentity m_identity; private string[] m_roles; public GenericPrincipal (IIdentity identity, string[] roles) { if (identity == null) throw new ArgumentNullException("identity"); Contract.EndContractBlock(); m_identity = identity; if (roles != null) { m_roles = new string[roles.Length]; for (int i = 0; i < roles.Length; ++i) { m_roles[i] = roles[i]; } } else { m_roles = null; } } public virtual IIdentity Identity { get { return m_identity; } } public virtual bool IsInRole (string role) { if (role == null || m_roles == null) return false; for (int i = 0; i < m_roles.Length; ++i) { if (m_roles[i] != null && String.Compare(m_roles[i], role, StringComparison.OrdinalIgnoreCase) == 0) return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // GenericPrincipal.cs // namespace System.Security.Principal { using System.Runtime.Remoting; using System; using System.Security.Util; using System.Globalization; using System.Diagnostics.Contracts; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class GenericPrincipal : IPrincipal { private IIdentity m_identity; private string[] m_roles; public GenericPrincipal (IIdentity identity, string[] roles) { if (identity == null) throw new ArgumentNullException("identity"); Contract.EndContractBlock(); m_identity = identity; if (roles != null) { m_roles = new string[roles.Length]; for (int i = 0; i < roles.Length; ++i) { m_roles[i] = roles[i]; } } else { m_roles = null; } } public virtual IIdentity Identity { get { return m_identity; } } public virtual bool IsInRole (string role) { if (role == null || m_roles == null) return false; for (int i = 0; i < m_roles.Length; ++i) { if (m_roles[i] != null && String.Compare(m_roles[i], role, StringComparison.OrdinalIgnoreCase) == 0) return true; } return false; } } } // 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
- ParserContext.cs
- SequenceRange.cs
- SortedList.cs
- SearchForVirtualItemEventArgs.cs
- XmlnsCache.cs
- JavaScriptObjectDeserializer.cs
- AliasedSlot.cs
- DesigntimeLicenseContextSerializer.cs
- SafeLibraryHandle.cs
- ObjectAnimationBase.cs
- DataGridState.cs
- CodeTypeParameterCollection.cs
- DataGridViewImageCell.cs
- Gdiplus.cs
- Int32Animation.cs
- PrimaryKeyTypeConverter.cs
- UpdatePanelTrigger.cs
- SpeakInfo.cs
- datacache.cs
- HttpModuleCollection.cs
- ApplicationSecurityInfo.cs
- SourceInterpreter.cs
- RubberbandSelector.cs
- RootCodeDomSerializer.cs
- FeatureSupport.cs
- SystemIPInterfaceProperties.cs
- GcHandle.cs
- CompilationLock.cs
- PageTheme.cs
- XmlIlVisitor.cs
- BitmapEffectOutputConnector.cs
- ExtensionWindow.cs
- ActivityIdHeader.cs
- MetadataHelper.cs
- DataGridTextBox.cs
- WindowsSysHeader.cs
- ApplicationTrust.cs
- XPathDocumentBuilder.cs
- DataColumnPropertyDescriptor.cs
- ParenthesizePropertyNameAttribute.cs
- AccessibleObject.cs
- CodeSnippetStatement.cs
- MD5Cng.cs
- AdornerDecorator.cs
- DataRelationPropertyDescriptor.cs
- Msec.cs
- WindowsListViewGroup.cs
- WindowsPen.cs
- ByteKeyFrameCollection.cs
- DragDrop.cs
- XmlSchemaCompilationSettings.cs
- EdmTypeAttribute.cs
- PngBitmapDecoder.cs
- SweepDirectionValidation.cs
- PropertyGridCommands.cs
- FixedHyperLink.cs
- CompilationUnit.cs
- Base64Encoder.cs
- SamlDelegatingWriter.cs
- _HelperAsyncResults.cs
- OrderPreservingPipeliningSpoolingTask.cs
- SecurityElement.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- StructuredProperty.cs
- COM2PictureConverter.cs
- SerializationInfoEnumerator.cs
- XomlCompilerResults.cs
- Figure.cs
- ClientSession.cs
- SqlInternalConnectionSmi.cs
- AutomationAttributeInfo.cs
- BatchWriter.cs
- EUCJPEncoding.cs
- XmlRawWriter.cs
- SecurityCredentialsManager.cs
- PhonemeConverter.cs
- CompositeCollection.cs
- PathGeometry.cs
- SetterBase.cs
- DragEvent.cs
- TcpPortSharing.cs
- Int32KeyFrameCollection.cs
- WinEventQueueItem.cs
- ModelItemImpl.cs
- SamlAssertionKeyIdentifierClause.cs
- InstanceDataCollection.cs
- BamlRecordReader.cs
- Point.cs
- VectorAnimation.cs
- RangeValuePattern.cs
- MenuItemBinding.cs
- DesignerUtils.cs
- StatusBar.cs
- TemplateControlCodeDomTreeGenerator.cs
- EventToken.cs
- QilChoice.cs
- AttributeCollection.cs
- CollectionBuilder.cs
- PrivilegeNotHeldException.cs
- Label.cs