Udostępnij za pośrednictwem


<trustInfo> , element (aplikacja ClickOnce)

Opisuje minimalne uprawnienia zabezpieczeń wymagane do działania aplikacji na komputerze klienckim.

Składnia


      <trustInfo>
   <security>
      <applicationRequestMinimum>
         <PermissionSet
            ID
            Unrestricted>
            <IPermission
               class
               version
               Unrestricted
            />
         </PermissionSet>
         <defaultAssemblyRequest
            permissionSetReference
         />
         <assemblyRequest
            name
            permissionSetReference
         />
      </applicationRequestMinimum>
      <requestedPrivileges>
         <requestedExecutionLevel
            level
            uiAccess
         />
      </requestedPrivileges>
   </security>
</trustInfo>

Elementy i atrybuty

Element trustInfo jest wymagany i znajduje się w asm.v2 przestrzeni nazw. Nie ma atrybutów i zawiera następujące elementy.

security

Wymagany. Ten element jest elementem podrzędnym trustInfo elementu. Zawiera element applicationRequestMinimum i nie ma atrybutów.

applicationRequestMinimum

Wymagany. Ten element jest elementem podrzędnym security elementu i zawiera PermissionSetelementy , assemblyRequesti defaultAssemblyRequest . Ten element nie ma atrybutów.

Zestaw uprawnień

Wymagany. Ten element jest elementem podrzędnym applicationRequestMinimum elementu i zawiera IPermission element . Ten element ma następujące atrybuty.

  • ID

    Wymagany. Identyfikuje zestaw uprawnień. Ten atrybut może być dowolną wartością. Identyfikator jest przywołyny w atrybutach defaultAssemblyRequest i assemblyRequest .

  • version

    Wymagany. Identyfikuje wersję uprawnienia. Zwykle ta wartość to 1.

IPermission

Opcjonalny. Ten element jest elementem podrzędnym PermissionSet elementu. Element IPermission w pełni identyfikuje klasę uprawnień w programie .NET Framework. Element IPermission ma następujące atrybuty, ale może mieć dodatkowe atrybuty, które odpowiadają właściwościom klasy uprawnień. Aby dowiedzieć się, jak poznać składnię określonego uprawnienia, zobacz przykłady wymienione w pliku Security.config.

  • class

    Wymagany. Identyfikuje klasę uprawnień według silnej nazwy. Na przykład poniższy kod identyfikuje FileDialogPermission typ.

    System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

  • version

    Wymagany. Identyfikuje wersję uprawnienia. Zazwyczaj ta wartość to 1.

  • Unrestricted

    Wymagany. Określa, czy aplikacja wymaga nieograniczonego udzielenia tego uprawnienia. Jeśli true, przyznanie uprawnień jest bezwarunkowe. Jeśli falseparametr lub ten atrybut jest niezdefiniowany, jest ograniczony zgodnie z atrybutami specyficznymi dla uprawnień zdefiniowanymi na tagu IPermission . Wykonaj następujące uprawnienia:

    <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" />
    

    W tym przykładzie deklaracja ogranicza EnvironmentPermission aplikację do odczytywania tylko zmiennej środowiskowej USERNAME, podczas gdy deklaracja dla FileDialogPermission daje aplikacji nieograniczone użycie wszystkich FileDialog klas.

defaultAssemblyRequest

Opcjonalny. Określa zestaw uprawnień przyznanych wszystkim zestawom. Ten element jest elementem podrzędnym applicationRequestMinimum elementu i ma następujący atrybut.

  • permissionSetReference

    Wymagany. Określa identyfikator zestawu uprawnień, który jest uprawnieniem domyślnym. Zestaw uprawnień jest zadeklarowany w elemecie PermissionSet .

assemblyRequest

Opcjonalny. Identyfikuje uprawnienia dla określonego zestawu. Ten element jest elementem podrzędnym applicationRequestMinimum elementu i ma następujące atrybuty.

  • Name

    Wymagany. Identyfikuje nazwę zestawu.

  • permissionSetReference

    Wymagany. Określa identyfikator zestawu uprawnień wymaganego przez ten zestaw. Zestaw uprawnień jest zadeklarowany w elemecie PermissionSet .

requestedPrivileges

Opcjonalny. Ten element jest elementem podrzędnym security elementu i zawiera requestedExecutionLevel element . Ten element nie ma atrybutów.

requestedExecutionLevel

Opcjonalny. Określa poziom zabezpieczeń, na którym aplikacja żąda wykonania. Ten element nie ma elementów podrzędnych i ma następujące atrybuty.

  • Level

    Wymagany. Wskazuje poziom zabezpieczeń, którego żąda aplikacja. Dopuszczalne wartości:

    asInvoker, żądając żadnych dodatkowych uprawnień. Ten poziom nie wymaga dodatkowych monitów o zaufanie.

    highestAvailable, żądanie najwyższych uprawnień dostępnych w procesie nadrzędnym.

    requireAdministrator, żądając pełnych uprawnień administratora.

    Aplikacje ClickOnce będą instalowane tylko z wartością asInvoker. Instalacja z dowolną inną wartością zakończy się niepowodzeniem.

  • uiAccess

    Opcjonalny. Wskazuje, czy aplikacja wymaga dostępu do chronionych elementów interfejsu użytkownika. Wartości to true lub false, a wartość domyślna to false. Tylko podpisane aplikacje powinny mieć wartość true.

Uwagi

Jeśli aplikacja ClickOnce prosi o więcej uprawnień niż komputer kliencki domyślnie przyzna, menedżer zaufania środowiska uruchomieniowego języka wspólnego zapyta użytkownika, czy chce przyznać aplikacji ten podwyższony poziom zaufania. Jeśli nie mówi, aplikacja nie zostanie uruchomiona; w przeciwnym razie zostanie uruchomiony z żądanymi uprawnieniami.

Wszystkie uprawnienia żądane przy użyciu defaultAssemblyRequest polecenia i assemblyRequest zostaną przyznane bez monitowania użytkownika, jeśli manifest wdrożenia ma prawidłową licencję zaufania.

Aby uzyskać więcej informacji na temat podniesienia uprawnień, zobacz Zabezpieczanie aplikacji ClickOnce. Aby uzyskać więcej informacji na temat wdrażania zasad, zobacz Omówienie wdrażania zaufanych aplikacji.

Przykłady

Poniższe trzy przykłady kodu ilustrują trustInfo elementy domyślne nazwanych stref zabezpieczeń — Internet, LocalIntranet i FullTrust — do użycia w manifeście aplikacji wdrożenia ClickOnce.

Pierwszy przykład ilustruje trustInfo element domyślnych uprawnień dostępnych w strefie zabezpieczeń Internetu.

<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>

Drugi przykład ilustruje trustInfo element domyślnych uprawnień dostępnych w strefie zabezpieczeń 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>

Trzeci przykład ilustruje trustInfo element domyślnych uprawnień dostępnych w strefie zabezpieczeń FullTrust.

<trustInfo>
  <security>
    <applicationRequestMinimum>
      <PermissionSet ID="FullTrust" Unrestricted="true" />
      <defaultAssemblyRequest permissionSetReference="FullTrust" />
    </applicationRequestMinimum>
  </security>
</trustInfo>

Zobacz też