Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Configuration / System / Configuration / ConfigurationPermission.cs / 1 / ConfigurationPermission.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Security; using System.Security.Permissions; using System.Globalization; [AttributeUsage(AttributeTargets.All, AllowMultiple=true, Inherited=false )] [Serializable] sealed public class ConfigurationPermissionAttribute : CodeAccessSecurityAttribute { public ConfigurationPermissionAttribute(SecurityAction action) : base(action) {} public override IPermission CreatePermission() { PermissionState state = (this.Unrestricted) ? PermissionState.Unrestricted : PermissionState.None; return new ConfigurationPermission(state); } } // // ConfigurationPermission is used to grant access to configuration sections that // would not otherwise be available if the caller attempted to read the configuration // files that make up configuration. // // The permission is a simple boolean one - it is either fully granted or denied. // This boolean state is represented by using the PermissionState enumeration. // [Serializable] public sealed class ConfigurationPermission : CodeAccessPermission, IUnrestrictedPermission { private PermissionState _permissionState; // Unrestricted or None // // Creates a new instance of ConfigurationPermission // that passes all demands or that fails all demands. // public ConfigurationPermission(PermissionState state) { // validate state parameter switch (state) { case PermissionState.Unrestricted: case PermissionState.None: _permissionState = state; break; default: throw ExceptionUtil.ParameterInvalid("state"); } } // // IUnrestrictedPermission interface methods // // // Checks the overall permission state of the object. // public bool IsUnrestricted() { return _permissionState == PermissionState.Unrestricted; } // // Creates a copy. // public override IPermission Copy () { return new ConfigurationPermission(_permissionState); } // // Returns the logical union between ConfigurationPermission instances. // public override IPermission Union(IPermission target) { if (target == null) { return Copy(); } if (target.GetType() != typeof(ConfigurationPermission)) { throw ExceptionUtil.ParameterInvalid("target"); } // Create an Unrestricted permission if either this or other is unrestricted if (_permissionState == PermissionState.Unrestricted) { return new ConfigurationPermission(PermissionState.Unrestricted); } else { ConfigurationPermission other = (ConfigurationPermission) target; return new ConfigurationPermission(other._permissionState); } } // // Returns the logical intersection between two ConfigurationPermission instances. // public override IPermission Intersect(IPermission target) { if (target == null) { return null; } if (target.GetType() != typeof(ConfigurationPermission)) { throw ExceptionUtil.ParameterInvalid("target"); } // Create an None permission if either this or other is None if (_permissionState == PermissionState.None) { return new ConfigurationPermission(PermissionState.None); } else { ConfigurationPermission other = (ConfigurationPermission) target; return new ConfigurationPermission(other._permissionState); } } // // Compares two ConfigurationPermission instances // public override bool IsSubsetOf(IPermission target) { if (target == null) { return _permissionState == PermissionState.None; } if (target.GetType() != typeof(ConfigurationPermission)) { throw ExceptionUtil.ParameterInvalid("target"); } ConfigurationPermission other = (ConfigurationPermission) target; return (_permissionState == PermissionState.None || other._permissionState == PermissionState.Unrestricted); } public override void FromXml(SecurityElement securityElement) { if (securityElement == null) { throw new ArgumentNullException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } if (!securityElement.Tag.Equals("IPermission")) { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } string className = securityElement.Attribute("class"); if (className == null) { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } if (className.IndexOf(this.GetType().FullName, StringComparison.Ordinal ) < 0) { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } string version = securityElement.Attribute("version"); if (version != "1") { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"version")); } string unrestricted = securityElement.Attribute("Unrestricted"); if (unrestricted == null) { _permissionState = PermissionState.None; } else { switch (unrestricted) { case "true": _permissionState = PermissionState.Unrestricted; break; case "false": _permissionState = PermissionState.None; break; default: throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"Unrestricted")); } } } public override SecurityElement ToXml() { SecurityElement securityElement = new SecurityElement("IPermission"); securityElement.AddAttribute("class", this.GetType().FullName + ", " + this.GetType().Module.Assembly.FullName.Replace( '\"', '\'' )); securityElement.AddAttribute("version", "1"); if (IsUnrestricted()) { securityElement.AddAttribute("Unrestricted", "true"); } return securityElement; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Security; using System.Security.Permissions; using System.Globalization; [AttributeUsage(AttributeTargets.All, AllowMultiple=true, Inherited=false )] [Serializable] sealed public class ConfigurationPermissionAttribute : CodeAccessSecurityAttribute { public ConfigurationPermissionAttribute(SecurityAction action) : base(action) {} public override IPermission CreatePermission() { PermissionState state = (this.Unrestricted) ? PermissionState.Unrestricted : PermissionState.None; return new ConfigurationPermission(state); } } // // ConfigurationPermission is used to grant access to configuration sections that // would not otherwise be available if the caller attempted to read the configuration // files that make up configuration. // // The permission is a simple boolean one - it is either fully granted or denied. // This boolean state is represented by using the PermissionState enumeration. // [Serializable] public sealed class ConfigurationPermission : CodeAccessPermission, IUnrestrictedPermission { private PermissionState _permissionState; // Unrestricted or None // // Creates a new instance of ConfigurationPermission // that passes all demands or that fails all demands. // public ConfigurationPermission(PermissionState state) { // validate state parameter switch (state) { case PermissionState.Unrestricted: case PermissionState.None: _permissionState = state; break; default: throw ExceptionUtil.ParameterInvalid("state"); } } // // IUnrestrictedPermission interface methods // // // Checks the overall permission state of the object. // public bool IsUnrestricted() { return _permissionState == PermissionState.Unrestricted; } // // Creates a copy. // public override IPermission Copy () { return new ConfigurationPermission(_permissionState); } // // Returns the logical union between ConfigurationPermission instances. // public override IPermission Union(IPermission target) { if (target == null) { return Copy(); } if (target.GetType() != typeof(ConfigurationPermission)) { throw ExceptionUtil.ParameterInvalid("target"); } // Create an Unrestricted permission if either this or other is unrestricted if (_permissionState == PermissionState.Unrestricted) { return new ConfigurationPermission(PermissionState.Unrestricted); } else { ConfigurationPermission other = (ConfigurationPermission) target; return new ConfigurationPermission(other._permissionState); } } // // Returns the logical intersection between two ConfigurationPermission instances. // public override IPermission Intersect(IPermission target) { if (target == null) { return null; } if (target.GetType() != typeof(ConfigurationPermission)) { throw ExceptionUtil.ParameterInvalid("target"); } // Create an None permission if either this or other is None if (_permissionState == PermissionState.None) { return new ConfigurationPermission(PermissionState.None); } else { ConfigurationPermission other = (ConfigurationPermission) target; return new ConfigurationPermission(other._permissionState); } } // // Compares two ConfigurationPermission instances // public override bool IsSubsetOf(IPermission target) { if (target == null) { return _permissionState == PermissionState.None; } if (target.GetType() != typeof(ConfigurationPermission)) { throw ExceptionUtil.ParameterInvalid("target"); } ConfigurationPermission other = (ConfigurationPermission) target; return (_permissionState == PermissionState.None || other._permissionState == PermissionState.Unrestricted); } public override void FromXml(SecurityElement securityElement) { if (securityElement == null) { throw new ArgumentNullException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } if (!securityElement.Tag.Equals("IPermission")) { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } string className = securityElement.Attribute("class"); if (className == null) { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } if (className.IndexOf(this.GetType().FullName, StringComparison.Ordinal ) < 0) { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"securityElement")); } string version = securityElement.Attribute("version"); if (version != "1") { throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"version")); } string unrestricted = securityElement.Attribute("Unrestricted"); if (unrestricted == null) { _permissionState = PermissionState.None; } else { switch (unrestricted) { case "true": _permissionState = PermissionState.Unrestricted; break; case "false": _permissionState = PermissionState.None; break; default: throw new ArgumentException(SR.GetString(SR.ConfigurationPermissionBadXml,"Unrestricted")); } } } public override SecurityElement ToXml() { SecurityElement securityElement = new SecurityElement("IPermission"); securityElement.AddAttribute("class", this.GetType().FullName + ", " + this.GetType().Module.Assembly.FullName.Replace( '\"', '\'' )); securityElement.AddAttribute("version", "1"); if (IsUnrestricted()) { securityElement.AddAttribute("Unrestricted", "true"); } return securityElement; } } } // 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
- ToolStripTextBox.cs
- Group.cs
- QueryReaderSettings.cs
- ManualWorkflowSchedulerService.cs
- FileAuthorizationModule.cs
- CachedRequestParams.cs
- FacetValues.cs
- ConfigurationManagerHelperFactory.cs
- MsmqIntegrationProcessProtocolHandler.cs
- CollaborationHelperFunctions.cs
- XmlObjectSerializerWriteContextComplex.cs
- KeyValuePair.cs
- QilDataSource.cs
- GridEntryCollection.cs
- XmlRootAttribute.cs
- DeferrableContent.cs
- ReflectionUtil.cs
- ColorTranslator.cs
- MethodCallTranslator.cs
- StreamGeometryContext.cs
- DbException.cs
- SpeechUI.cs
- MenuAutomationPeer.cs
- System.Data_BID.cs
- WinFormsSpinner.cs
- BulletChrome.cs
- CngKeyCreationParameters.cs
- SoapClientProtocol.cs
- ImageSource.cs
- IxmlLineInfo.cs
- EntityDataSourceViewSchema.cs
- RoutedCommand.cs
- DBCommand.cs
- EntityKey.cs
- Html32TextWriter.cs
- ObjectSecurity.cs
- RequiredAttributeAttribute.cs
- EncryptedKeyIdentifierClause.cs
- FixedFlowMap.cs
- XmlUrlResolver.cs
- Pen.cs
- PropertyDescriptorCollection.cs
- DrawListViewItemEventArgs.cs
- DataTransferEventArgs.cs
- ReaderOutput.cs
- MergeLocalizationDirectives.cs
- TraceXPathNavigator.cs
- AutomationAttributeInfo.cs
- DragCompletedEventArgs.cs
- HtmlInputRadioButton.cs
- Token.cs
- FontWeight.cs
- Rotation3DKeyFrameCollection.cs
- AlgoModule.cs
- Separator.cs
- CheckBoxRenderer.cs
- ServiceProviders.cs
- DragEventArgs.cs
- SerialPort.cs
- MenuItem.cs
- TextSelection.cs
- StringUtil.cs
- HwndHostAutomationPeer.cs
- ReachDocumentPageSerializer.cs
- VisualTransition.cs
- CommandExpr.cs
- TransformerInfoCollection.cs
- UnsafeCollabNativeMethods.cs
- SiteMapNodeItem.cs
- XamlToRtfParser.cs
- XPathDescendantIterator.cs
- NgenServicingAttributes.cs
- StyleCollection.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- ReliabilityContractAttribute.cs
- PointHitTestResult.cs
- StringKeyFrameCollection.cs
- BuildProviderCollection.cs
- SymbolPair.cs
- PrintPreviewGraphics.cs
- NativeMethods.cs
- Vars.cs
- HGlobalSafeHandle.cs
- EdmRelationshipRoleAttribute.cs
- MouseActionValueSerializer.cs
- ObjectPersistData.cs
- PathSegment.cs
- TreePrinter.cs
- Line.cs
- TrackingServices.cs
- TextBox.cs
- TextElementCollection.cs
- TickBar.cs
- MethodAccessException.cs
- SHA1.cs
- DeferredElementTreeState.cs
- GroupItemAutomationPeer.cs
- DataServiceExpressionVisitor.cs
- BitmapEncoder.cs
- XmlQueryContext.cs