Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
IDWymagany. Identyfikuje zestaw uprawnień. Ten atrybut może być dowolną wartością. Identyfikator jest przywołyny w atrybutach
defaultAssemblyRequestiassemblyRequest.versionWymagany. 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.
classWymagany. Identyfikuje klasę uprawnień według silnej nazwy. Na przykład poniższy kod identyfikuje
FileDialogPermissiontyp.System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089versionWymagany. Identyfikuje wersję uprawnienia. Zazwyczaj ta wartość to
1.UnrestrictedWymagany. Określa, czy aplikacja wymaga nieograniczonego udzielenia tego uprawnienia. Jeśli
true, przyznanie uprawnień jest bezwarunkowe. Jeślifalseparametr lub ten atrybut jest niezdefiniowany, jest ograniczony zgodnie z atrybutami specyficznymi dla uprawnień zdefiniowanymi na taguIPermission. 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.
permissionSetReferenceWymagany. 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.
NameWymagany. Identyfikuje nazwę zestawu.
permissionSetReferenceWymagany. 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.
LevelWymagany. 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.uiAccessOpcjonalny. Wskazuje, czy aplikacja wymaga dostępu do chronionych elementów interfejsu użytkownika. Wartości to
truelubfalse, 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>