<trustinfo>Elemento (aplicativo ClickOnce)
Descreve as permissões de segurança mínima necessárias para o aplicativo seja executado no computador cliente.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet
ID
Unrestricted>
<IPermission
class
version
Unrestricted
/>
</PermissionSet>
<defaultAssemblyRequest
permissionSetReference
/>
<assemblyRequest
name
permissionSetReference
/>
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel
level
uiAccess
/>
</requestedPrivileges>
</security>
</trustInfo>
Elementos e atributos
The trustInfo elemento é obrigatório e está no asm.v2namespace. Ele não tiver atributos e contém os seguintes elementos.
segurança
Obrigatório. Este elemento é filho do trustInfo elemento. Ele contém o applicationRequestMinimum elemento e sem atributos.
applicationRequestMinimum
Obrigatório. This element is a child of the security element and contains the PermissionSet, assemblyRequest, and defaultAssemblyRequestelements. Este elemento possui sem atributos.
PermissionSet
Obrigatório. Este elemento é filho do applicationRequestMinimum elemento e contém o IPermission elemento. Este elemento tem os seguintes atributos.
Atributo |
Descrição |
---|---|
ID |
Obrigatório. Identifica o permissão definido. Esse atributo pode ser qualquer valor. A ID é referenciada no defaultAssemblyRequest e assemblyRequest atributos. |
version |
Obrigatório. Identifica a versão da permissão. Normalmente este valor é 1. |
IPermission
Opcional. Este elemento é filho do PermissionSet elemento. The IPermission elemento totalmente identifica uma classe de permissão na .NET Framework. The IPermission elemento tem os seguintes atributos, mas pode ter atributos adicionais que correspondem às propriedades da classe de permissão. Para obter a sintaxe para uma permissão específica, consulte os exemplos listados no arquivo segurança.config.
Atributo |
Descrição |
---|---|
class |
Obrigatório. Identifica a classe de permissão por nome forte. Por exemplo, o código a seguir identifica o FileDialogPermission Digite. System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 |
version |
Obrigatório. Identifica a versão da permissão. Normalmente este valor é 1. |
Unrestricted |
Obrigatório. Identifica se o aplicativo precisa de uma concessão dessa permissão irrestrita. If True, a concessão de permissão é incondicional. If False, ou se este atributo estiver indefinido, é restringido de acordo com os atributos de permissão específicos definidos no IPermission marca. Tome as seguintes permissões:
Neste exemplo, a declaração de EnvironmentPermission Restringe o aplicativo para ler somente a variável de ambiente USERNAME, ao passo que a declaração para FileDialogPermission permite o uso do aplicativo irrestrito de todas as FileDialog classes. |
defaultAssemblyRequest
Opcional. Identifica o conjunto de permissões concedido a todos os assemblies. Este elemento é filho do applicationRequestMinimum elemento e tem os seguintes atributos.
Atributo |
Descrição |
---|---|
permissionSetReference |
Obrigatório. Identifica a ID do conjunto de permissões que é a permissão padrão. O permissão conjunto é declarado no PermissionSet elemento. |
assemblyRequest
Opcional. Identifica as permissões para um conjunto específico. Este elemento é filho do applicationRequestMinimum elemento e tem os seguintes atributos.
Atributo |
Descrição |
---|---|
name |
Obrigatório. Identifica o nome do assembly. |
permissionSetReference |
Obrigatório. Identifica a ID do conjunto de permissões que requer esse assembly. O permissão conjunto é declarado no PermissionSet elemento. |
requestedPrivileges
Opcional. Este elemento é filho do security elemento e contém o requestedExecutionLevel elemento. Este elemento possui sem atributos.
requestedExecutionLevel
Opcional. Identifica o nível de segurança em que o aplicativo solicita a ser executado. Este elemento não tem filhos e tem os seguintes atributos.
Atributo |
Descrição |
---|---|
level |
Obrigatório. Indica que o nível de segurança do aplicativo está solicitando. Os valores possíveis são: asInvoker, não solicitando nenhuma permissão adicional. Este nível exige não que pede nenhuma confiança adicional. highestAvailable, que solicita as permissões mais altos disponível para o processo pai. requireAdministrator, solicitando permissões totais de administrador. ClickOnce aplicativos instalará apenas com um valor de asInvoker. Instalando com qualquer Outros valor falhará. |
uiAccess |
Opcional. Indica se o aplicativo requer acesso aos elementos da interface do usuário protegidos. Os valores são um dos true ou false, e o padrão é false. Somente aplicativos assinados devem ter um valor de true. |
Comentários
If a ClickOnce aplicativo pede para irão conceder mais permissões que o computador cliente por padrão, o Gerenciador de confiança Common Language tempo de execução's pedirá ao usuário se deseja conceder ao aplicativo isso elevado nível de confiança. Se ela diz não, o aplicativo não será executado; caso contrário, ele será executado com as permissões solicitadas.
Todas as permissões solicitadas usando defaultAssemblyRequest e assemblyRequest será concedido sem avisar usuário se o manifesto de implantação tiver uma licença válida confiar.
Para obter mais informações sobre a elevação de permissões, consulte ClickOnce Implantação and Segurança. Para obter mais informações sobre a implantação de diretiva, consulte Visão geral sobre implantação de Aplicativo Confiável.
Exemplos
Os exemplos de código de três a seguir ilustram trustInfo elementos de nomeada zonas de segurança padrão — Internet, LocalIntranet e FullTrust — para uso em um ClickOnce manifesto do aplicativo do implantação.
O primeiro exemplo ilustra o trustInfo elemento para as permissões padrão disponível na zona de segurança da Internet.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="Internet">
<IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Access="Open" />
<IPermission class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Allowed="DomainIsolationByUser" UserQuota="10240" />
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="Execution" />
<IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Window="SafeTopLevelWindows" Clipboard="OwnClipboard" />
<IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" version="1" Level="SafePrinting" />
</PermissionSet>
<defaultAssemblyRequest permissionSetReference="Internet" />
</applicationRequestMinimum>
</security>
</trustInfo>
O segundo exemplo ilustra o trustInfo elemento para as permissões padrão disponível na zona de segurança LocalIntranet.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="LocalIntranet">
<IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="USERNAME" />
<IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
<IPermission class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Allowed="AssemblyIsolationByUser" UserQuota="9223372036854775807" Expiry="9223372036854775807" Permanent="True" />
<IPermission class="System.Security.Permissions.ReflectionPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ReflectionEmit" />
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="Assertion, Execution" />
<IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
<IPermission class="System.Net.DnsPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
<IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" version="1" Level="DefaultPrinting" />
<IPermission class="System.Diagnostics.EventLogPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" />
</PermissionSet>
<defaultAssemblyRequest permissionSetReference="LocalIntranet" />
</applicationRequestMinimum>
</security>
</trustInfo>
O terceiro exemplo ilustra o trustInfo elemento para as permissões padrão disponível na zona de segurança FullTrust.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>
Consulte também
Conceitos
Visão geral sobre implantação de Aplicativo Confiável