Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classe AllowPartiallyTrustedCallersAttribute

Permite que um assembly a ser chamado pelo código parcialmente confiável. Sem essa declaração, apenas chamadores totalmente confiáveis são capazes de usar o assembly. Esta classe não pode ser herdada.

System.Object
  System.Attribute
    System.Security.AllowPartiallyTrustedCallersAttribute

Namespace:  System.Security
Assembly:  mscorlib (em mscorlib.dll)

[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets.Assembly, AllowMultiple = false, 
	Inherited = false)]
public sealed class AllowPartiallyTrustedCallersAttribute : Attribute

O tipo AllowPartiallyTrustedCallersAttribute expõe os membros a seguir.

  NomeDescrição
Método públicoCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreAllowPartiallyTrustedCallersAttributeInicializa uma nova instância da classe AllowPartiallyTrustedCallersAttribute.
Superior

  NomeDescrição
Propriedade públicaPartialTrustVisibilityLevelObtém ou define a visibilidade de confiança parcial padrão para o código que está marcado com o AllowPartiallyTrustedCallersAttribute atributo (APTCA).
Propriedade públicaTypeId Quando implementada em uma classe derivada, obtém um identificador exclusivo para este atributo. (Herdado de Attribute.)
Superior

  NomeDescrição
Método públicoCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreEqualsInfraestrutura. Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute.)
Método públicoCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreGetHashCode Retorna o hash code para essa instância. (Herdado de Attribute.)
Método públicoCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoIsDefaultAttributeQuando substituído em uma classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute.)
Método públicoMatchQuando substituído em uma classe derivada, retorna um valor que indica se esta instância for igual a um objeto especificado. (Herdado de Attribute.)
Método públicoCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Superior

  NomeDescrição
Implementação explícita da interfaceMétodo particular_Attribute.GetIDsOfNamesMapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular_Attribute.GetTypeInfoRecupera as informações de tipo para um objeto, que pode ser usado para obter informações de tipo para uma interface. (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular_Attribute.GetTypeInfoCountRetorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular_Attribute.InvokeFornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute.)
Superior

ObservaçãoObservação

O .NET Framework 4 introduz novas regras de segurança que afetam o comportamento da AllowPartiallyTrustedCallersAttribute atributo (consulte Código transparente de segurança, nível 2). No .NET Framework 4, todos os padrões de código em segurança transparente, ou seja, parcialmente confiável. No entanto, você pode anotar tipos individuais e membros para atribuí-los a outros atributos de transparência. Para isso e outras alterações de segurança, consulte Alterações na segurança do .NET Framework.

.NET Framework versão 2.0 (nível 1 transparente) os assemblies devem ser fortes para usar efetivamente o AllowPartiallyTrustedCallersAttribute atributo (APTCA). .NET Framework 4(nível 2) módulos (assemblies) não precisa ter nomes fortes para o atributo APTCA ser eficiente, e podem conter código transparente, segurança e de segurança-safe-crítico. Para obter mais informações sobre como aplicar atributos no nível do assembly, consulte Aplicando atributos.

Por padrão, se um nome forte, nível 1 transparente assembly não aplicar explicitamente esse atributo no nível do assembly, ele pode ser chamado somente por outros módulos (assemblies) que recebe confiança total. Essa restrição é imposta, colocando um LinkDemand para FullTrust em cada método público ou protegido em cada classe acessível publicamente no assembly. Os assemblies que se destinam a ser chamado pelo código parcialmente confiável podem declarar a sua intenção através do uso de AllowPartiallyTrustedCallersAttribute. Um exemplo da declaração em C# é [assembly:AllowPartiallyTrustedCallers]; um exemplo em Visual Basic é <assembly:AllowPartiallyTrustedCallers>.

Observação de cuidadoCuidado

A presença desse atributo de nível de assembly impede que o comportamento padrão de colocação de FullTrustLinkDemand segurança verifica e faz com que o assembly que pode ser chamado a partir de qualquer outro conjunto (parcialmente ou totalmente confiável).

Quando o atributo APTCA estiver presente, todas as outra verificações de segurança função conforme o planejado, incluindo quaisquer atributos de nível de classe ou método em nível de segurança declarativos que estão presentes. Este atributo bloqueia somente a demanda implícita, totalmente confiáveis chamador.

Isso não é um atributo de segurança declarativa, mas um atributo regular (ele deriva de System.Attribute, não a partir de System.Security.Permissions.SecurityAttribute).

Para obter mais informações, consulte Usando bibliotecas de códigos parcialmente Confiável.

O exemplo a seguir mostra como usar o AllowPartiallyTrustedCallersAttribute classe.


// The following HTML code can be used to call the user control in this sample.
//
//<HTML>
//	<BODY>
//		<OBJECT id="usercontrol" classid="usercontrol.dll#UserControl.UserControl1" width="800"
//		height="300" style="font-size:12;">
//		</OBJECT>
//		<p>
//	</BODY>
//</HTML>

// To run this test control you must create a strong name key, snkey.snk, and 
// a code group that gives full trust to assemblies signed with snkey.snk.

// The user control displays an OpenFileDialog box, then displays a text box containing the name of 
// the file selected and a list box that displays the contents of the file.  The selected file must 
// contain text in order for the control to display the data properly.

// Caution  This sample demonstrates the use of the Assert method.  Calling Assert removes the 
// requirement that all code in the call chain must be granted permission to access the specified 
// resource, it can open up security vulnerabilities if used incorrectly or inappropriately. Therefore, 
// it should be used with great caution.  Assert should always be followed with a RevertAssert 
// command to restore the security settings.


using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.IO;
using System.Security;
using System.Security.Permissions;
using System.Reflection;
using System.Runtime.CompilerServices;

// This strong name key is used to create a code group that gives permissions to this assembly.
[assembly: AssemblyKeyFile("snKey.snk")]
[assembly: AssemblyVersion("1.0.0.0")]

// The AllowPartiallyTrustedCallersAttribute requires the assembly to be signed with a strong name key.
// This attribute is necessary since the control is called by either an intranet or Internet
// Web page that should be running under restricted permissions.
[assembly:AllowPartiallyTrustedCallers]
namespace UserControl
{
	// The userControl1 displays an OpenFileDialog box, then displays a text box containing the name of 
	// the file selected and a list box that displays the contents of the file.  The selected file must 
	// contain text in order for the control to display the data properly.
	public class UserControl1 : System.Windows.Forms.UserControl
	{
		private System.Windows.Forms.TextBox textBox1;
		private System.Windows.Forms.ListBox listBox1;
		// Required designer variable.
		private System.ComponentModel.Container components = null;

              // Demand the zone requirement for the calling application.
              [ZoneIdentityPermission(SecurityAction.Demand, Zone = SecurityZone.Intranet)]
		public UserControl1()
		{
			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();

			// The OpenFileDialog box should not require any special permissions.
			OpenFileDialog fileDialog = new OpenFileDialog();
			if(fileDialog.ShowDialog() == DialogResult.OK)
			{
				// Reading the name of the selected file from the OpenFileDialog box
				// and reading the file requires FileIOPermission.  The user control should 
				// have this permission granted through its code group; the Web page that calls the 
				// control should not have this permission.  The Assert command prevents a stack walk 
				// that would fail because the caller does not have the required FileIOPermission.  
				// The use of Assert can open up security vulnerabilities if used incorrectly or 
				// inappropriately. Therefore, it should be used with great caution.
				// The Assert command should be followed by a RevertAssert as soon as the file operation 
				// is completed.
				new FileIOPermission(PermissionState.Unrestricted).Assert();
				textBox1.Text = fileDialog.FileName;
				// Display the contents of the file in the text box.
				FileStream fsIn = new FileStream(textBox1.Text, FileMode.Open, FileAccess.Read, 
					FileShare.Read);
				StreamReader sr = new StreamReader(fsIn);
			
				// Process every line in the file
				for (String Line = sr.ReadLine(); Line != null; Line = sr.ReadLine()) 
				{
					listBox1.Items.Add(Line);
				}
				// It is very important to call RevertAssert to restore the stack walk for
				// file operations.
				FileIOPermission.RevertAssert();
			}

		}

		// Clean up any resources being used.
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if( components != null )
					components.Dispose();
			}
			base.Dispose( disposing );
		}

		#region Component Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify 
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			this.textBox1 = new System.Windows.Forms.TextBox();
			this.listBox1 = new System.Windows.Forms.ListBox();
			this.SuspendLayout();
			// 
			// textBox1
			// 
			this.textBox1.Location = new System.Drawing.Point(208, 112);
			this.textBox1.Name = "textBox1";
			this.textBox1.Size = new System.Drawing.Size(320, 20);
			this.textBox1.TabIndex = 0;
			this.textBox1.Text = "textBox1";
			this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
			// 
			// listBox1
			// 
			this.listBox1.Location = new System.Drawing.Point(200, 184);
			this.listBox1.Name = "listBox1";
			this.listBox1.Size = new System.Drawing.Size(336, 108);
			this.listBox1.TabIndex = 1;
			// 
			// UserControl1
			// 
			this.Controls.Add(this.listBox1);
			this.Controls.Add(this.textBox1);
			this.Name = "UserControl1";
			this.Size = new System.Drawing.Size(592, 400);
			this.Load += new System.EventHandler(this.UserControl1_Load);
			this.ResumeLayout(false);

		}
		#endregion

		private void UserControl1_Load(object sender, System.EventArgs e)
		{
		
		}

		private void textBox1_TextChanged(object sender, System.EventArgs e)
		{
		
		}


	}
}


.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

.NET para aplicativos do Windows Phone

Com suporte em: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft