}// ValidateData internal override bool ApplyData() { PolicyStatementAttribute psa = new PolicyStatementAttribute(); if (m_chkUseOnlyThisCG.Checked) { psa |= PolicyStatementAttribute.Exclusive; } if (m_chkOnlyUseThisPL.Checked) { psa |= PolicyStatementAttribute.LevelFinal; } PolicyStatement ps = m_cg.PolicyStatement; if (ps == null) { ps = new PolicyStatement(null); } ps.Attributes = psa; m_cg.PolicyStatement = ps; m_cg.Name = m_txtCGName.Text; m_cg.Description = m_txtCGDes.Text; SecurityPolicyChanged(); return(true); }// ApplyData
// Construct a PolicyStatement with an Unrestricted permission set and // the LevelFinal attribute. private static PolicyStatement secondConstructorTest() { // Construct the permission set. //<Snippet3> PermissionSet permissions = new PermissionSet(PermissionState.Unrestricted); permissions.AddPermission( new SecurityPermission(SecurityPermissionFlag.Execution)); permissions.AddPermission( new ZoneIdentityPermission(SecurityZone.MyComputer)); PolicyStatementAttribute levelFinalAttribute = PolicyStatementAttribute.LevelFinal; // Create a new policy statement with the specified permission set. // The LevelFinal attribute is set to prevent the evaluation of lower // policy levels in a resolve operation. PolicyStatement policyStatement = new PolicyStatement(permissions, levelFinalAttribute); //</Snippet3> return(policyStatement); }
public PolicyStatement (PermissionSet permSet, PolicyStatementAttribute attributes) { if (permSet != null) { this.perms = permSet.Copy (); this.perms.SetReadOnly (true); } this.attrs = attributes; }
// Token: 0x06002A02 RID: 10754 RVA: 0x0009C1C6 File Offset: 0x0009A3C6 private static bool ValidProperties(PolicyStatementAttribute attributes) { if ((attributes & ~(PolicyStatementAttribute.Exclusive | PolicyStatementAttribute.LevelFinal)) == PolicyStatementAttribute.Nothing) { return(true); } throw new ArgumentException(Environment.GetResourceString("Argument_InvalidFlag")); }
public void AttributeString () { PolicyStatementAttribute psa = PolicyStatementAttribute.LevelFinal; PolicyStatement ps = new PolicyStatement (new PermissionSet (PermissionState.None)); ps.Attributes = psa; MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition (), ps); Assert.AreEqual (psa.ToString(), cg.AttributeString, "AttributeString"); }
private static bool ValidProperties(PolicyStatementAttribute attributes) { if ((attributes & ~PolicyStatementAttribute.All) != PolicyStatementAttribute.Nothing) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidFlag")); } return(true); }
internal void FromXml(SecurityDocument doc, int position, PolicyLevel level, bool allowInternalOnly) { if (doc == null) { throw new ArgumentNullException("doc"); } if (!doc.GetTagForElement(position).Equals("PolicyStatement")) { throw new ArgumentException(string.Format((IFormatProvider)CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), (object)"PolicyStatement", (object)this.GetType().FullName)); } this.m_attributes = PolicyStatementAttribute.Nothing; string attributeForElement = doc.GetAttributeForElement(position, "Attributes"); if (attributeForElement != null) { this.m_attributes = (PolicyStatementAttribute)Enum.Parse(typeof(PolicyStatementAttribute), attributeForElement); } lock (this) { this.m_permSet = (PermissionSet)null; if (level != null) { string local_3 = doc.GetAttributeForElement(position, "PermissionSetName"); if (local_3 != null) { this.m_permSet = (PermissionSet)level.GetNamedPermissionSetInternal(local_3); if (this.m_permSet == null) { this.m_permSet = new PermissionSet(PermissionState.None); } } } if (this.m_permSet == null) { ArrayList local_4 = doc.GetChildrenPositionForElement(position); int local_5 = -1; for (int local_6 = 0; local_6 < local_4.Count; ++local_6) { if (doc.GetTagForElement((int)local_4[local_6]).Equals("PermissionSet")) { local_5 = (int)local_4[local_6]; } } if (local_5 == -1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } string local_7 = doc.GetAttributeForElement(local_5, "class"); this.m_permSet = local_7 == null || !local_7.Equals("NamedPermissionSet") && !local_7.Equals("System.Security.NamedPermissionSet") ? new PermissionSet(PermissionState.None) : (PermissionSet) new NamedPermissionSet("DefaultName", PermissionState.None); this.m_permSet.FromXml(doc, local_5, allowInternalOnly); } if (this.m_permSet != null) { return; } this.m_permSet = new PermissionSet(PermissionState.None); } }
public PolicyStatement(PermissionSet perms, PolicyStatementAttribute attrs) { if (perms != null) { this.perms = perms.Copy(); this.perms.SetReadOnly(true); } this.attrs = attrs; }
internal void FromXml(SecurityElement et, PolicyLevel level, bool allowInternalOnly) { if (et == null) { throw new ArgumentNullException("et"); } if (!et.Tag.Equals("PolicyStatement")) { throw new ArgumentException(string.Format((IFormatProvider)CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), (object)"PolicyStatement", (object)this.GetType().FullName)); } this.m_attributes = PolicyStatementAttribute.Nothing; string str = et.Attribute("Attributes"); if (str != null) { this.m_attributes = (PolicyStatementAttribute)Enum.Parse(typeof(PolicyStatementAttribute), str); } lock (this) { this.m_permSet = (PermissionSet)null; if (level != null) { string local_3 = et.Attribute("PermissionSetName"); if (local_3 != null) { this.m_permSet = (PermissionSet)level.GetNamedPermissionSetInternal(local_3); if (this.m_permSet == null) { this.m_permSet = new PermissionSet(PermissionState.None); } } } if (this.m_permSet == null) { SecurityElement local_4 = et.SearchForChildByTag("PermissionSet"); if (local_4 == null) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } string local_5 = local_4.Attribute("class"); this.m_permSet = local_5 == null || !local_5.Equals("NamedPermissionSet") && !local_5.Equals("System.Security.NamedPermissionSet") ? new PermissionSet(PermissionState.None) : (PermissionSet) new NamedPermissionSet("DefaultName", PermissionState.None); try { this.m_permSet.FromXml(local_4, allowInternalOnly, true); } catch { } } if (this.m_permSet != null) { return; } this.m_permSet = new PermissionSet(PermissionState.None); } }
/// <summary>使用指定的 <see cref="T:System.Security.PermissionSet" /> 和特性初始化 <see cref="T:System.Security.Policy.PolicyStatement" /> 类的新实例。</summary> /// <param name="permSet">用于初始化新实例的 <see cref="T:System.Security.PermissionSet" />。</param> /// <param name="attributes"> /// <see cref="T:System.Security.Policy.PolicyStatementAttribute" /> 值的按位组合。</param> public PolicyStatement(PermissionSet permSet, PolicyStatementAttribute attributes) { this.m_permSet = permSet != null?permSet.Copy() : new PermissionSet(false); if (!PolicyStatement.ValidProperties(attributes)) { return; } this.m_attributes = attributes; }
public PolicyStatement(System.Security.PermissionSet permSet, PolicyStatementAttribute attributes) { if (permSet == null) { this.m_permSet = new System.Security.PermissionSet(false); } else { this.m_permSet = permSet.Copy(); } if (ValidProperties(attributes)) { this.m_attributes = attributes; } }
/// <include file='doc\PolicyStatement.uex' path='docs/doc[@for="PolicyStatement.PolicyStatement1"]/*' /> public PolicyStatement(PermissionSet permSet, PolicyStatementAttribute attributes) { if (permSet == null) { m_permSet = new PermissionSet(false); } else { m_permSet = permSet.Copy(); } if (ValidProperties(attributes)) { m_attributes = attributes; } }
public PolicyStatement( PermissionSet permSet, PolicyStatementAttribute attributes ) { if (permSet == null) { m_permSet = new PermissionSet( false ); } else { m_permSet = permSet.Copy(); } if (ValidProperties( attributes )) { m_attributes = attributes; } }
private PolicyStatement( PermissionSet permSet, PolicyStatementAttribute attributes, bool copy ) { if (permSet != null) { if (copy) m_permSet = permSet.Copy(); else m_permSet = permSet; } else { m_permSet = new PermissionSet( false ); } m_attributes = attributes; }
private void Resolve_Zone_Unrestricted_Attribute(SecurityZone zone, PolicyStatementAttribute attr) { IMembershipCondition mc = new ZoneMembershipCondition(zone); PolicyStatement ps = new PolicyStatement(new PermissionSet(PermissionState.Unrestricted)); ps.Attributes = attr; PolicyLevel pl = PolicyLevel.CreateAppDomainLevel(); pl.RootCodeGroup = new UnionCodeGroup(mc, ps); Resolve_Zone(pl, SecurityZone.Internet, attr, (zone == SecurityZone.Internet), 0); Resolve_Zone(pl, SecurityZone.Intranet, attr, (zone == SecurityZone.Intranet), 0); Resolve_Zone(pl, SecurityZone.MyComputer, attr, (zone == SecurityZone.MyComputer), 0); Resolve_Zone(pl, SecurityZone.NoZone, attr, (zone == SecurityZone.NoZone), 0); Resolve_Zone(pl, SecurityZone.Trusted, attr, (zone == SecurityZone.Trusted), 0); Resolve_Zone(pl, SecurityZone.Untrusted, attr, (zone == SecurityZone.Untrusted), 0); }
private PolicyStatement(System.Security.PermissionSet permSet, PolicyStatementAttribute attributes, bool copy) { if (permSet != null) { if (copy) { this.m_permSet = permSet.Copy(); } else { this.m_permSet = permSet; } } else { this.m_permSet = new System.Security.PermissionSet(false); } this.m_attributes = attributes; }
}// InsertPropSheetPageControls private void PutValuesinPage() { // Get info that we'll need from the node m_txtCGName.Text = m_cg.Name; m_txtCGDes.Text = m_cg.Description; if (m_cg.PolicyStatement != null) { PolicyStatementAttribute psa = m_cg.PolicyStatement.Attributes; if ((psa & PolicyStatementAttribute.Exclusive) > 0) { m_chkUseOnlyThisCG.Checked = true; } if ((psa & PolicyStatementAttribute.LevelFinal) > 0) { m_chkOnlyUseThisPL.Checked = true; } } }// PutValuesinPage
private PolicyStatement(PermissionSet permSet, PolicyStatementAttribute attributes, bool copy) { if (permSet != null) { if (copy) { m_permSet = permSet.Copy(); } else { m_permSet = permSet; } } else { m_permSet = new PermissionSet(false); } m_attributes = attributes; }
/// <summary>Reconstructs a security object with a given state from an XML encoding.</summary> /// <param name="et">The XML encoding to use to reconstruct the security object. </param> /// <param name="level">The <see cref="T:System.Security.Policy.PolicyLevel" /> context for lookup of <see cref="T:System.Security.NamedPermissionSet" /> values. </param> /// <exception cref="T:System.ArgumentNullException">The <paramref name="et" /> parameter is null. </exception> /// <exception cref="T:System.ArgumentException">The <paramref name="et" /> parameter is not a valid <see cref="T:System.Security.Policy.PolicyStatement" /> encoding. </exception> /// <PermissionSet> /// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ControlEvidence" /> /// </PermissionSet> public void FromXml(SecurityElement et, PolicyLevel level) { if (et == null) { throw new ArgumentNullException("et"); } if (et.Tag != "PolicyStatement") { throw new ArgumentException(Locale.GetText("Invalid tag.")); } string text = et.Attribute("Attributes"); if (text != null) { this.attrs = (PolicyStatementAttribute)((int)Enum.Parse(typeof(PolicyStatementAttribute), text)); } SecurityElement et2 = et.SearchForChildByTag("PermissionSet"); this.PermissionSet.FromXml(et2); }
private void Resolve_Zone(PolicyLevel level, SecurityZone z, PolicyStatementAttribute attr, bool unrestricted, int count) { string prefix = z.ToString() + "-" + attr.ToString() + "-"; Evidence e = new Evidence(); e.AddHost(new Zone(z)); PolicyStatement result = level.Resolve(e); if (unrestricted) { Assert.AreEqual(attr, result.Attributes, prefix + "Attributes"); switch (attr) { case PolicyStatementAttribute.Nothing: Assert.AreEqual(String.Empty, result.AttributeString, prefix + "AttributeString"); break; case PolicyStatementAttribute.Exclusive: Assert.AreEqual("Exclusive", result.AttributeString, prefix + "AttributeString"); break; case PolicyStatementAttribute.LevelFinal: Assert.AreEqual("LevelFinal", result.AttributeString, prefix + "AttributeString"); break; case PolicyStatementAttribute.All: Assert.AreEqual("Exclusive LevelFinal", result.AttributeString, prefix + "AttributeString"); break; } } else { Assert.AreEqual(PolicyStatementAttribute.Nothing, result.Attributes, prefix + "Attributes"); Assert.AreEqual(String.Empty, result.AttributeString, prefix + "AttributeString"); } Assert.AreEqual(unrestricted, result.PermissionSet.IsUnrestricted(), prefix + "IsUnrestricted"); Assert.AreEqual(count, result.PermissionSet.Count, prefix + "Count"); }
public void FromXml(SecurityElement e, PolicyLevel level) { if (e == null) { throw new ArgumentNullException("e"); } if (e.Tag != "PolicyStatement") { throw new ArgumentException(Locale.GetText("Invalid tag.")); } string attributes = e.Attribute("Attributes"); if (attributes != null) { attrs = (PolicyStatementAttribute)Enum.Parse( typeof(PolicyStatementAttribute), attributes); } SecurityElement permissions = e.SearchForChildByTag("PermissionSet"); PermissionSet.FromXml(permissions); }
public PolicyStatement(PermissionSet permSet, PolicyStatementAttribute attributes) { this.permSet = permSet; this.attributes = attributes; }
internal void FromXml(SecurityDocument doc, int position, PolicyLevel level, bool allowInternalOnly) { if (doc == null) { throw new ArgumentNullException("doc"); } if (!doc.GetTagForElement(position).Equals("PolicyStatement")) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), new object[] { "PolicyStatement", base.GetType().FullName })); } this.m_attributes = PolicyStatementAttribute.Nothing; string attributeForElement = doc.GetAttributeForElement(position, "Attributes"); if (attributeForElement != null) { this.m_attributes = (PolicyStatementAttribute)Enum.Parse(typeof(PolicyStatementAttribute), attributeForElement); } lock (this) { this.m_permSet = null; if (level != null) { string name = doc.GetAttributeForElement(position, "PermissionSetName"); if (name != null) { this.m_permSet = level.GetNamedPermissionSetInternal(name); if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } } if (this.m_permSet == null) { ArrayList childrenPositionForElement = doc.GetChildrenPositionForElement(position); int num = -1; for (int i = 0; i < childrenPositionForElement.Count; i++) { if (doc.GetTagForElement((int)childrenPositionForElement[i]).Equals("PermissionSet")) { num = (int)childrenPositionForElement[i]; } } if (num == -1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } string str3 = doc.GetAttributeForElement(num, "class"); if ((str3 != null) && (str3.Equals("NamedPermissionSet") || str3.Equals("System.Security.NamedPermissionSet"))) { this.m_permSet = new NamedPermissionSet("DefaultName", PermissionState.None); } else { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } this.m_permSet.FromXml(doc, num, allowInternalOnly); } if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } }
private void Resolve_Zone_Unrestricted_Attribute (SecurityZone zone, PolicyStatementAttribute attr) { IMembershipCondition mc = new ZoneMembershipCondition (zone); PolicyStatement ps = new PolicyStatement (new PermissionSet (PermissionState.Unrestricted)); ps.Attributes = attr; PolicyLevel pl = PolicyLevel.CreateAppDomainLevel (); pl.RootCodeGroup = new UnionCodeGroup (mc, ps); Resolve_Zone (pl, SecurityZone.Internet, attr, (zone == SecurityZone.Internet), 0); Resolve_Zone (pl, SecurityZone.Intranet, attr, (zone == SecurityZone.Intranet), 0); Resolve_Zone (pl, SecurityZone.MyComputer, attr, (zone == SecurityZone.MyComputer), 0); Resolve_Zone (pl, SecurityZone.NoZone, attr, (zone == SecurityZone.NoZone), 0); Resolve_Zone (pl, SecurityZone.Trusted, attr, (zone == SecurityZone.Trusted), 0); Resolve_Zone (pl, SecurityZone.Untrusted, attr, (zone == SecurityZone.Untrusted), 0); }
public PolicyStatement(System.Security.PermissionSet permSet, PolicyStatementAttribute attributes) { }
internal void FromXml(SecurityDocument doc, int position, PolicyLevel level, bool allowInternalOnly) { if (doc == null) { throw new ArgumentNullException("doc"); } if (!doc.GetTagForElement(position).Equals("PolicyStatement")) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), "PolicyStatement", this.GetType().FullName)); } m_attributes = (PolicyStatementAttribute)0; String strAttributes = doc.GetAttributeForElement(position, "Attributes"); if (strAttributes != null) { m_attributes = (PolicyStatementAttribute)Enum.Parse(typeof(PolicyStatementAttribute), strAttributes); } lock (this) { m_permSet = null; if (level != null) { String permSetName = doc.GetAttributeForElement(position, "PermissionSetName"); if (permSetName != null) { m_permSet = level.GetNamedPermissionSetInternal(permSetName); if (m_permSet == null) { m_permSet = new PermissionSet(PermissionState.None); } } } if (m_permSet == null) { // There is no provided level, it is not a named permission set, or // the named permission set doesn't exist in the provided level, // so just create the class through reflection and decode normally. ArrayList childPositions = doc.GetChildrenPositionForElement(position); int positionPermissionSet = -1; for (int i = 0; i < childPositions.Count; ++i) { if (doc.GetTagForElement((int)childPositions[i]).Equals("PermissionSet")) { positionPermissionSet = (int)childPositions[i]; } } if (positionPermissionSet != -1) { String className = doc.GetAttributeForElement(positionPermissionSet, "class"); if (className != null && (className.Equals("NamedPermissionSet") || className.Equals("System.Security.NamedPermissionSet"))) { m_permSet = new NamedPermissionSet("DefaultName", PermissionState.None); } else { m_permSet = new PermissionSet(PermissionState.None); } m_permSet.FromXml(doc, positionPermissionSet, allowInternalOnly); } else { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } } if (m_permSet == null) { m_permSet = new PermissionSet(PermissionState.None); } } }
private void Resolve_Zone (PolicyLevel level, SecurityZone z, PolicyStatementAttribute attr, bool unrestricted, int count) { string prefix = z.ToString () + "-" + attr.ToString () + "-"; Evidence e = new Evidence (); e.AddHost (new Zone (z)); PolicyStatement result = level.Resolve (e); if (unrestricted) { Assert.AreEqual (attr, result.Attributes, prefix + "Attributes"); switch (attr) { case PolicyStatementAttribute.Nothing: Assert.AreEqual (String.Empty, result.AttributeString, prefix + "AttributeString"); break; case PolicyStatementAttribute.Exclusive: Assert.AreEqual ("Exclusive", result.AttributeString, prefix + "AttributeString"); break; case PolicyStatementAttribute.LevelFinal: Assert.AreEqual ("LevelFinal", result.AttributeString, prefix + "AttributeString"); break; case PolicyStatementAttribute.All: Assert.AreEqual ("Exclusive LevelFinal", result.AttributeString, prefix + "AttributeString"); break; } } else { Assert.AreEqual (PolicyStatementAttribute.Nothing, result.Attributes, prefix + "Attributes"); Assert.AreEqual (String.Empty, result.AttributeString, prefix + "AttributeString"); } Assert.AreEqual (unrestricted, result.PermissionSet.IsUnrestricted (), prefix + "IsUnrestricted"); Assert.AreEqual (count, result.PermissionSet.Count, prefix + "Count"); }
public PolicyStatement (System.Security.PermissionSet permSet, PolicyStatementAttribute attributes) { return default(PolicyStatement); }
[System.Security.SecurityCritical] // auto-generated internal void FromXml(SecurityElement et, PolicyLevel level, bool allowInternalOnly) { if (et == null) { throw new ArgumentNullException(nameof(et)); } if (!et.Tag.Equals("PolicyStatement")) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), nameof(PolicyStatement), this.GetType().FullName)); } Contract.EndContractBlock(); m_attributes = (PolicyStatementAttribute)0; String strAttributes = et.Attribute("Attributes"); if (strAttributes != null) { m_attributes = (PolicyStatementAttribute)Enum.Parse(typeof(PolicyStatementAttribute), strAttributes); } lock (this) { m_permSet = null; if (level != null) { String permSetName = et.Attribute("PermissionSetName"); if (permSetName != null) { m_permSet = level.GetNamedPermissionSetInternal(permSetName); if (m_permSet == null) { m_permSet = new PermissionSet(PermissionState.None); } } } if (m_permSet == null) { // There is no provided level, it is not a named permission set, or // the named permission set doesn't exist in the provided level, // so just create the class through reflection and decode normally. SecurityElement e = et.SearchForChildByTag("PermissionSet"); if (e != null) { String className = e.Attribute("class"); if (className != null && (className.Equals("NamedPermissionSet") || className.Equals("System.Security.NamedPermissionSet"))) { m_permSet = new NamedPermissionSet("DefaultName", PermissionState.None); } else { m_permSet = new PermissionSet(PermissionState.None); } try { m_permSet.FromXml(e, allowInternalOnly, true); } catch { // ignore any exceptions from the decode process. // Note: we go ahead and use the permission set anyway. This should be safe since // the decode process should never give permission beyond what a proper decode would have // given. } } else { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } } if (m_permSet == null) { m_permSet = new PermissionSet(PermissionState.None); } } }
[System.Security.SecurityCritical] // auto-generated internal void FromXml( SecurityDocument doc, int position, PolicyLevel level, bool allowInternalOnly ) { if (doc == null) throw new ArgumentNullException( "doc" ); Contract.EndContractBlock(); if (!doc.GetTagForElement( position ).Equals( "PolicyStatement" )) throw new ArgumentException( String.Format( CultureInfo.CurrentCulture, Environment.GetResourceString( "Argument_InvalidXMLElement" ), "PolicyStatement", this.GetType().FullName ) ); m_attributes = (PolicyStatementAttribute) 0; String strAttributes = doc.GetAttributeForElement( position, "Attributes" ); if (strAttributes != null) m_attributes = (PolicyStatementAttribute)Enum.Parse( typeof( PolicyStatementAttribute ), strAttributes ); lock (this) { m_permSet = null; if (level != null) { String permSetName = doc.GetAttributeForElement( position, "PermissionSetName" ); if (permSetName != null) { m_permSet = level.GetNamedPermissionSetInternal( permSetName ); if (m_permSet == null) m_permSet = new PermissionSet( PermissionState.None ); } } if (m_permSet == null) { // There is no provided level, it is not a named permission set, or // the named permission set doesn't exist in the provided level, // so just create the class through reflection and decode normally. ArrayList childPositions = doc.GetChildrenPositionForElement( position ); int positionPermissionSet = -1; for (int i = 0; i < childPositions.Count; ++i) { if (doc.GetTagForElement( (int)childPositions[i] ).Equals( "PermissionSet" )) { positionPermissionSet = (int)childPositions[i]; } } if (positionPermissionSet != -1) { String className = doc.GetAttributeForElement( positionPermissionSet, "class" ); if (className != null && (className.Equals( "NamedPermissionSet" ) || className.Equals( "System.Security.NamedPermissionSet" ))) m_permSet = new NamedPermissionSet( "DefaultName", PermissionState.None ); else m_permSet = new PermissionSet( PermissionState.None ); m_permSet.FromXml( doc, positionPermissionSet, allowInternalOnly ); } else { throw new ArgumentException( Environment.GetResourceString( "Argument_InvalidXML" ) ); } } if (m_permSet == null) m_permSet = new PermissionSet( PermissionState.None ); } }
// Implement the ISecurityPolicyEncodable interface. public void FromXml(SecurityElement et, PolicyLevel level) { if (et == null) { throw new ArgumentNullException("et"); } if (et.Tag != "PolicyStatement") { throw new ArgumentException (_("Security_PolicyName")); } if (et.Attribute("version") != "1") { throw new ArgumentException (_("Security_PolicyVersion")); } String value = et.Attribute("Attributes"); if (value != null) { attributes = (PolicyStatementAttribute) Enum.Parse(typeof(PolicyStatementAttribute), value); } else { attributes = PolicyStatementAttribute.Nothing; } permSet = null; if (level != null) { String name = et.Attribute("PermissionSetName"); if (name != null) { permSet = level.GetNamedPermissionSet(value); if (permSet == null) { permSet = new PermissionSet(PermissionState.None); } } } if (permSet == null) { SecurityElement child; child = et.SearchForChildByTag("PermissionSet"); if (child != null) { String permClass; permClass = child.Attribute("class"); if (permClass != null && permClass.IndexOf("NamedPermissionSet") != -1) { permSet = new NamedPermissionSet ("DefaultName", PermissionState.None); } else { permSet = new PermissionSet(PermissionState.None); } try { permSet.FromXml(child); } catch (Exception) { // Ignore errors during set loading. } } } if (permSet == null) { permSet = new PermissionSet(PermissionState.None); } }
public CodeGroupAttributeTableEntry( String label, PolicyStatementAttribute value, String description ) { this.label = label; this.value = value; this.description = description; this.display = true; this.handler = null; }
public PolicyStatement(System.Security.PermissionSet permSet, PolicyStatementAttribute attributes) { return(default(PolicyStatement)); }
// Implement the ISecurityPolicyEncodable interface. public void FromXml(SecurityElement et, PolicyLevel level) { if(et == null) { throw new ArgumentNullException("et"); } if(et.Tag != "PolicyStatement") { throw new ArgumentException (_("Security_PolicyName")); } if(et.Attribute("version") != "1") { throw new ArgumentException (_("Security_PolicyVersion")); } String value = et.Attribute("Attributes"); if(value != null) { attributes = (PolicyStatementAttribute) Enum.Parse(typeof(PolicyStatementAttribute), value); } else { attributes = PolicyStatementAttribute.Nothing; } permSet = null; if(level != null) { String name = et.Attribute("PermissionSetName"); if(name != null) { permSet = level.GetNamedPermissionSet(value); if(permSet == null) { permSet = new PermissionSet(PermissionState.None); } } } if(permSet == null) { SecurityElement child; child = et.SearchForChildByTag("PermissionSet"); if(child != null) { String permClass; permClass = child.Attribute("class"); if(permClass != null && permClass.IndexOf("NamedPermissionSet") != -1) { permSet = new NamedPermissionSet ("DefaultName", PermissionState.None); } else { permSet = new PermissionSet(PermissionState.None); } try { permSet.FromXml(child); } catch(Exception) { // Ignore errors during set loading. } } } if(permSet == null) { permSet = new PermissionSet(PermissionState.None); } }
internal void FromXml(SecurityElement et, PolicyLevel level, bool allowInternalOnly) { if (et == null) { throw new ArgumentNullException("et"); } if (!et.Tag.Equals("PolicyStatement")) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), new object[] { "PolicyStatement", base.GetType().FullName })); } this.m_attributes = PolicyStatementAttribute.Nothing; string str = et.Attribute("Attributes"); if (str != null) { this.m_attributes = (PolicyStatementAttribute) Enum.Parse(typeof(PolicyStatementAttribute), str); } lock (this) { this.m_permSet = null; if (level != null) { string name = et.Attribute("PermissionSetName"); if (name != null) { this.m_permSet = level.GetNamedPermissionSetInternal(name); if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } } if (this.m_permSet == null) { SecurityElement element = et.SearchForChildByTag("PermissionSet"); if (element == null) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } string str3 = element.Attribute("class"); if ((str3 != null) && (str3.Equals("NamedPermissionSet") || str3.Equals("System.Security.NamedPermissionSet"))) { this.m_permSet = new NamedPermissionSet("DefaultName", PermissionState.None); } else { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } try { this.m_permSet.FromXml(element, allowInternalOnly, true); } catch { } } if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } }
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Policy.PolicyStatement" /> class with the specified <see cref="T:System.Security.PermissionSet" /> and attributes.</summary><param name="permSet">The <see cref="T:System.Security.PermissionSet" /> with which to initialize the new instance. </param><param name="attributes">A bitwise combination of the <see cref="T:System.Security.Policy.PolicyStatementAttribute" /> values. </param> public PolicyStatement(PermissionSet permSet, PolicyStatementAttribute attributes) { throw new NotImplementedException(); }
public PolicyStatement(PermissionSet permSet, PolicyStatementAttribute attributes) { }
[System.Security.SecurityCritical] // auto-generated internal void FromXml( SecurityElement et, PolicyLevel level, bool allowInternalOnly ) { if (et == null) throw new ArgumentNullException( "et" ); if (!et.Tag.Equals( "PolicyStatement" )) throw new ArgumentException( String.Format( CultureInfo.CurrentCulture, Environment.GetResourceString( "Argument_InvalidXMLElement" ), "PolicyStatement", this.GetType().FullName ) ); Contract.EndContractBlock(); m_attributes = (PolicyStatementAttribute) 0; String strAttributes = et.Attribute( "Attributes" ); if (strAttributes != null) m_attributes = (PolicyStatementAttribute)Enum.Parse( typeof( PolicyStatementAttribute ), strAttributes ); lock (this) { m_permSet = null; if (level != null) { String permSetName = et.Attribute( "PermissionSetName" ); if (permSetName != null) { m_permSet = level.GetNamedPermissionSetInternal( permSetName ); if (m_permSet == null) m_permSet = new PermissionSet( PermissionState.None ); } } if (m_permSet == null) { // There is no provided level, it is not a named permission set, or // the named permission set doesn't exist in the provided level, // so just create the class through reflection and decode normally. SecurityElement e = et.SearchForChildByTag( "PermissionSet" ); if (e != null) { String className = e.Attribute( "class" ); if (className != null && (className.Equals( "NamedPermissionSet" ) || className.Equals( "System.Security.NamedPermissionSet" ))) m_permSet = new NamedPermissionSet( "DefaultName", PermissionState.None ); else m_permSet = new PermissionSet( PermissionState.None ); try { m_permSet.FromXml( e, allowInternalOnly, true ); } catch { // ignore any exceptions from the decode process. // Note: we go ahead and use the permission set anyway. This should be safe since // the decode process should never give permission beyond what a proper decode would have // given. } } else { throw new ArgumentException( Environment.GetResourceString( "Argument_InvalidXML" ) ); } } if (m_permSet == null) m_permSet = new PermissionSet( PermissionState.None ); } }
internal void FromXml(SecurityElement et, PolicyLevel level, bool allowInternalOnly) { if (et == null) { throw new ArgumentNullException("et"); } if (!et.Tag.Equals("PolicyStatement")) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), new object[] { "PolicyStatement", base.GetType().FullName })); } this.m_attributes = PolicyStatementAttribute.Nothing; string str = et.Attribute("Attributes"); if (str != null) { this.m_attributes = (PolicyStatementAttribute)Enum.Parse(typeof(PolicyStatementAttribute), str); } lock (this) { this.m_permSet = null; if (level != null) { string name = et.Attribute("PermissionSetName"); if (name != null) { this.m_permSet = level.GetNamedPermissionSetInternal(name); if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } } if (this.m_permSet == null) { SecurityElement element = et.SearchForChildByTag("PermissionSet"); if (element == null) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } string str3 = element.Attribute("class"); if ((str3 != null) && (str3.Equals("NamedPermissionSet") || str3.Equals("System.Security.NamedPermissionSet"))) { this.m_permSet = new NamedPermissionSet("DefaultName", PermissionState.None); } else { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } try { this.m_permSet.FromXml(element, allowInternalOnly, true); } catch { } } if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } }
private static bool ValidProperties(PolicyStatementAttribute attributes) { if ((attributes & ~PolicyStatementAttribute.All) != PolicyStatementAttribute.Nothing) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidFlag")); } return true; }
internal PolicyStatement() { this.m_permSet = null; this.m_attributes = PolicyStatementAttribute.Nothing; }
/// <include file='doc\PolicyStatement.uex' path='docs/doc[@for="PolicyStatement.FromXml1"]/*' /> public void FromXml(SecurityElement et, PolicyLevel level) { if (et == null) { throw new ArgumentNullException("et"); } if (!et.Tag.Equals("PolicyStatement")) { throw new ArgumentException(String.Format(Environment.GetResourceString("Argument_InvalidXMLElement"), "PolicyStatement", this.GetType().FullName)); } m_attributes = (PolicyStatementAttribute)0; String strAttributes = et.Attribute("Attributes"); if (strAttributes != null) { m_attributes = (PolicyStatementAttribute)Enum.Parse(typeof(PolicyStatementAttribute), strAttributes); } lock (this) { m_permSet = null; if (level != null) { String permSetName = et.Attribute("PermissionSetName"); if (permSetName != null) { m_permSet = level.GetNamedPermissionSetInternal(permSetName); if (m_permSet == null) { m_permSet = new PermissionSet(PermissionState.None); } } } if (m_permSet == null) { // There is no provided level, it is not a named permission set, or // the named permission set doesn't exist in the provided level, // so just create the class through reflection and decode normally. SecurityElement e = et.SearchForChildByTag("PermissionSet"); if (e != null) { String className = e.Attribute("class"); if (className != null && (className.Equals("NamedPermissionSet") || className.Equals("System.Security.NamedPermissionSet"))) { m_permSet = new NamedPermissionSet("DefaultName", PermissionState.None); } else { m_permSet = new PermissionSet(PermissionState.None); } try { // We play it conservative here and just say that we are loading policy // anytime we have to decode a permission set. bool fullyLoaded; m_permSet.FromXml(e, true, out fullyLoaded); } catch (Exception) { // ignore any exceptions from the decode process. // Note: we go ahead and use the permission set anyway. This should be safe since // the decode process should never give permission beyond what a proper decode would have // given. } } else { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } } if (m_permSet == null) { m_permSet = new PermissionSet(PermissionState.None); } } }
internal void FromXml(SecurityDocument doc, int position, PolicyLevel level, bool allowInternalOnly) { if (doc == null) { throw new ArgumentNullException("doc"); } if (!doc.GetTagForElement(position).Equals("PolicyStatement")) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_InvalidXMLElement"), new object[] { "PolicyStatement", base.GetType().FullName })); } this.m_attributes = PolicyStatementAttribute.Nothing; string attributeForElement = doc.GetAttributeForElement(position, "Attributes"); if (attributeForElement != null) { this.m_attributes = (PolicyStatementAttribute) Enum.Parse(typeof(PolicyStatementAttribute), attributeForElement); } lock (this) { this.m_permSet = null; if (level != null) { string name = doc.GetAttributeForElement(position, "PermissionSetName"); if (name != null) { this.m_permSet = level.GetNamedPermissionSetInternal(name); if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } } if (this.m_permSet == null) { ArrayList childrenPositionForElement = doc.GetChildrenPositionForElement(position); int num = -1; for (int i = 0; i < childrenPositionForElement.Count; i++) { if (doc.GetTagForElement((int) childrenPositionForElement[i]).Equals("PermissionSet")) { num = (int) childrenPositionForElement[i]; } } if (num == -1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidXML")); } string str3 = doc.GetAttributeForElement(num, "class"); if ((str3 != null) && (str3.Equals("NamedPermissionSet") || str3.Equals("System.Security.NamedPermissionSet"))) { this.m_permSet = new NamedPermissionSet("DefaultName", PermissionState.None); } else { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } this.m_permSet.FromXml(doc, num, allowInternalOnly); } if (this.m_permSet == null) { this.m_permSet = new System.Security.PermissionSet(PermissionState.None); } } }
public void FromXml (SecurityElement et, PolicyLevel level) { if (et == null) throw new ArgumentNullException ("et"); if (et.Tag != "PolicyStatement") throw new ArgumentException (Locale.GetText ("Invalid tag.")); string attributes = et.Attribute ("Attributes"); if (attributes != null) { attrs = (PolicyStatementAttribute) Enum.Parse ( typeof (PolicyStatementAttribute), attributes); } SecurityElement permissions = et.SearchForChildByTag ("PermissionSet"); PermissionSet.FromXml (permissions); }