<trustInfo> Elemento (aplicativo de 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
O trustInfo elemento é obrigatório e está sendo o asm.v2 espaço para nome.Ele não tiver atributos e contém os seguintes elementos.
segurança
Obrigatório.Este elemento é filho de trustInfo elemento.Ele contém o applicationRequestMinimum elemento e sem atributos.
applicationRequestMinimum
Obrigatório.Este elemento é filho do security elemento e contém o PermissionSet, assemblyRequest, e defaultAssemblyRequestelementos.Este elemento possui sem atributos.
PermissionSet
Obrigatório.Este elemento é filho do applicationRequestMinimum elemento e contém o IPermission elemento.Este elemento possui os seguintes atributos.
Atributo |
Descrição |
---|---|
ID |
Obrigatório.Identifica o conjunto de permissões.Esse atributo pode ser qualquer valor.A identificação é referenciada na defaultAssemblyRequest e assemblyRequest atributos. |
version |
Obrigatório.Identifica a versão da permissão.Normalmente, esse valor é 1. |
IPermission
Opcional.Este elemento é filho de PermissionSet elemento.O IPermission elemento totalmente identifica uma classe de permissão na .NET Framework.O IPermission elemento tem os seguintes atributos, porém pode ter atributos adicionais que correspondem às propriedades da classe de permissão.Para descobrir a sintaxe de uma permissão específica, consulte os exemplos listados no arquivo Security. config.
Atributo |
Descrição |
---|---|
class |
Obrigatório.Identifica a classe de permissão pelo nome de alta segurança.Por exemplo, o código a seguir identifica as FileDialogPermission tipo. 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, esse valor é 1. |
Unrestricted |
Obrigatório.Identifica se o aplicativo precisa de uma concessão irrestrito dessa permissão.Se true, a concessão de permissão é incondicional.Se false, ou se esse atributo não está definido, é restringido de acordo com os atributos específicos de permissão definidos na IPermission marca.Tome as seguintes permissões:
Neste exemplo, a declaração para EnvironmentPermission restringe o aplicativo para ler somente a variável de ambiente USERNAME, ao passo que a declaração para FileDialogPermission oferece 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 de applicationRequestMinimum elemento e tem os seguintes atributos.
Atributo |
Descrição |
---|---|
permissionSetReference |
Obrigatório.Identifica a identificação do conjunto de permissão que é a permissão padrão.O conjunto de permissões é declarado na PermissionSet elemento. |
assemblyRequest
Opcional.Identifica as permissões de um conjunto específico.Este elemento é filho de applicationRequestMinimum elemento e tem os seguintes atributos.
Atributo |
Descrição |
---|---|
Name |
Obrigatório.Identifica o nome do assembly. |
permissionSetReference |
Obrigatório.Identifica a identificação do conjunto de permissão que requer que este assembly.O conjunto de permissões é declarado na 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 no qual 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 a nenhuma permissão adicional.Este nível não requer confiança solicitações adicionais. highestAvailable, solicitando as permissões mais altos disponíveis para o processo pai. requireAdministrator, solicitando permissões de administrador completo. ClickOnceaplicativos instalará apenas com um valor de asInvoker.Instalando com qualquer outro valor falhará. |
uiAccess |
Opcional.Indica se o aplicativo requer acesso aos elementos de interface de usuário protegida.Os valores são uma true ou false, e o padrão é false.Somente os aplicativos assinados devem ter um valor true. |
Comentários
Se um ClickOnce aplicativo solicita mais permissões do que o computador cliente concederá por padrão, o common language Gerenciador do runtime de confiança solicitará ao usuário se ele deseja conceder ao aplicativo nesse alto nível de confiança.Se ela diz não, o aplicativo não será executada; Caso contrário, ele será executado com as permissões solicitadas.
Todas as permissões solicitadas usando defaultAssemblyRequest e assemblyRequest será concedido sem aviso ao usuário se o manifesto de implantação tiver uma licença válida de confiança.
Para obter mais informações sobre a elevação de permissões, consulte Proteção de aplicativos de ClickOnce.Para obter mais informações sobre a implantação da diretiva, consulte Visão geral sobre implantação de aplicativos confiáveis.
Exemplos
O código de três exemplos a seguir ilustra trustInfo elementos para nomeada zonas de segurança padrão — Internet, LocalIntranet e FullTrust — para uso em um ClickOnce manifesto do implantação aplicativo.
O primeiro exemplo ilustra o trustInfo elemento para as permissões padrão disponíveis 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íveis 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íveis na zona de segurança FullTrust.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>
Consulte também
Referência
Manifesto de aplicativo de ClickOnce