<trustInfo> Elemento (aplicativo deClickOnce )
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 é necessário e está no elemento a asm.v2 namespace. 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 de security elemento e contém o PermissionSet, assemblyRequest, e defaultAssemblyRequestelementos. Este elemento possui sem atributos.
PermissionSet
Obrigatório. Este elemento é filho de 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 no 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, mas 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, por 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 do EnvironmentPermission restringe o aplicativo de leitura somente a variável de ambiente USERNAME, enquanto que a declaração do 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, 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, o que requer que este assembly. O conjunto de permissões é declarado na PermissionSet elemento. |
requestedPrivileges
Opcional. Este elemento é filho de 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, o 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. Valores são 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 de confiança do runtime solicitará ao usuário se ele deseja conceder ao aplicativo nesse alto o 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 usuário solicitando que se o manifesto de implantação possui uma licença de confiança válido.
Para obter mais informações sobre a elevação de permissões, consulte Protegendo 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 o padrão, chamado de zonas de segurança — Internet, LocalIntranet e FullTrust — para uso em um ClickOnce manifesto de aplicativo. da implantação
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
ClickOnce Application Manifest