// Computes permission set from _outputPermissionSet and _unknownPermissions and returns new document private XmlDocument GetOutputPermissionSetDocument() { PermissionSet outputPermissionSet = GetOutputPermissionSet(); XmlDocument outputDocument = SecurityUtilities.PermissionSetToXml(outputPermissionSet); return(outputDocument); }
private PermissionSet GetInputPermissionSet() { if (_inputPermissionSet == null) { XmlElement psElement = GetInputPermissionSetElement(); if (PreserveFullTrustPermissionSet) { XmlAttribute unrestrictedAttribute = (XmlAttribute)psElement.Attributes.GetNamedItem(XmlUtil.TrimPrefix(XPaths.unrestrictedAttribute)); _isFullTrust = unrestrictedAttribute != null && Boolean.Parse(unrestrictedAttribute.Value); if (_isFullTrust) { XmlDocument document = new XmlDocument(); document.AppendChild(document.ImportNode(psElement, true)); document.DocumentElement.Attributes.RemoveNamedItem(XmlUtil.TrimPrefix(XPaths.unrestrictedAttribute)); psElement = document.DocumentElement; } _inputPermissionSet = SecurityUtilities.XmlToPermissionSet(psElement); } else { _inputPermissionSet = SecurityUtilities.XmlToPermissionSet(psElement); _isFullTrust = _inputPermissionSet.IsUnrestricted(); } } return(_inputPermissionSet); }