Úrovně důvěryhodnosti zabezpečení v přístupu k prostředkům
Toto téma popisuje, jak je omezen přístup na studijních materiálech, které System.Transactions zveřejňuje.
Existují tři hlavní úrovně důvěryhodnosti pro System.Transactions. Úrovně důvěryhodnosti jsou definovány v závislosti na studijních materiálech, které System.Transactions zpřístupňuje a úroveň vztahu důvěryhodnosti, který je třeba získat přístup k těmto prostředkům. Materiály, System.Transactions poskytuje přístup k jsou systémové paměti, sdílený proces wide materiály a široké systémových prostředků. Jsou to tyto úrovně:
AllowPartiallyTrustedCallers (APTCA) pro aplikace využívající transakce v rámci jedné domény aplikace.
DistributedTransactionPermission (DTP) pro aplikace využívající distribuované transakce.
Úplný vztah důvěryhodnosti pro trvalý zdroje, aplikace pro správu konfigurace a starší definiční aplikace.
Poznámka:
Neměli volat některý z rozhraní zařazení s zosobněným kontexty.
Úrovně důvěryhodnosti
APTCA (částečným vztahem důvěryhodnosti)
Sestavení System.Transactions lze volat částečně důvěryhodným kódem, protože byl označen atributem AllowPartiallyTrustedCallers (APTCA). Tento atribut v podstatě odebere implicitní LinkDemand pro sadu oprávnění FullTrust , která je jinak automaticky umístěna pro každou veřejně přístupnou metodu v každém typu. Nicméně některé typy a členy stále vyžadují bezpečnějších oprávnění.
Atribut APTCA umožňuje aplikacím používat transakcí v částečným vztahem důvěryhodnosti v rámci jediné doméně aplikace. To umožňuje-eskalován transakce a Nestálá zařazení, které lze použít pro zpracování chyb. Příkladem je tabulka transacted hash a aplikace, která ji používá. Data lze přidat do a odebrán z tabulky hash v rámci jedné transakce. Pokud později transakce vrácena zpět, všechny změny provedené v tabulce hash v rámci dané transakce lze vrátit zpět.
DistributedTransactionPermission (DTP)
Když System.Transactions transakce je eskalován jej lze spravovat pomocí nástroje MSDTC, System.Transactions požadavky DistributedTransactionPermission (DTP) k vytvoření distribuované transakce. To znamená, že kód, který způsobí, že transakce se eskalován (například prostřednictvím serializace nebo další trvalé zařazení) by bylo nutné mít udělena DTP. Kód, který původně vytvořil System.Transactions transakce nutně nemusí mít toto oprávnění.
Požadavky na propojení FullTrust
Tuto úroveň oprávnění je určena k omezení aplikace, které jsou zápisu do trvalý prostředků. Po selhání aplikace musí být možné obnovit pomocí Správce transakcí k určení konečný výsledek transakce, tak, aby jej můžete aktualizovat trvalá data. Tento typ aplikace, se nazývá trvalý zdroj správce. Klasické příkladem tento typ aplikace je SQL.
Chcete-li povolit obnovení, tento typ aplikace má možnost trvale spotřebovávat systémové prostředky. Toto je vzhledem k tomu, že správce obnovitelných transakcí musí mějte na paměti, transakcí, které mají potvrzeny, dokud můžete ověřit, že všechny správce trvalý prostředků, které se účastní transakce přijali výsledek. Proto tento typ aplikace vyžaduje plnou důvěryhodnost a by neměl být spuštěn, není-li poskytovaná úroveň vztahu důvěryhodnosti.
Další informace o trvalých zařazení a obnovení, naleznete v seznamu prostředků jako účastníci v transakci a provádění obnovení témata.
Aplikace, které provádějí starší verze definiční pracovat s modelu COM + jsou také nutné mít plnou důvěryhodnost.
Následuje seznam typů a členů, které nelze volat částečně důvěryhodným kódem, protože jsou zdobeny deklarativním atributem zabezpečení FullTrust :
PermissionSetAttribute(SecurityAction.LinkDemand, Name := "FullTrust")
K použití výše uvedených typů nebo metod se vyžaduje pouze okamžitý volající, který má nastavená oprávnění FullTrust .