Directory.SetAccessControl(String, DirectorySecurity) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Použije položky seznamu řízení přístupu (ACL) popsané objektem DirectorySecurity do zadaného adresáře.
public:
static void SetAccessControl(System::String ^ path, System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public static void SetAccessControl(string path, System.Security.AccessControl.DirectorySecurity directorySecurity);
static member SetAccessControl : string * System.Security.AccessControl.DirectorySecurity -> unit
Public Shared Sub SetAccessControl (path As String, directorySecurity As DirectorySecurity)
Parametry
- path
- String
Adresář pro přidání nebo odebrání položek seznamu řízení přístupu (ACL) z.
- directorySecurity
- DirectorySecurity
Objekt DirectorySecurity , který popisuje položku seznamu ACL, která se má použít v adresáři popsaném parametrem path .
Výjimky
Parametr directorySecurity je null.
Adresář nebyl nalezen.
Hodnota path byla neplatná.
Aktuální proces nemá přístup k adresáři určenému uživatelem path.
nebo
Aktuální proces nemá dostatečná oprávnění k nastavení položky seznamu ACL.
Poznámky
Metoda SetAccessControl použije položky seznamu řízení přístupu (ACL) do adresáře, který představuje nezahrnutou seznam ACL.
Caution
Seznam ACL zadaný pro directorySecurity parametr nahradí existující seznam ACL pro adresář. Pokud chcete přidat oprávnění pro nového uživatele, použijte metodu GetAccessControl k získání existujícího seznamu ACL a jeho úpravě.
Seznam ACL popisuje jednotlivce a skupiny, které mají nebo nemají práva ke konkrétním akcím daného souboru nebo adresáře. Další informace naleznete v tématu Postupy: Přidání nebo odebrání položek seznamu řízení přístupu.
Metoda SetAccessControl zachovává pouze DirectorySecurity objekty, které byly změněny po vytvoření objektu. DirectorySecurity Pokud objekt nebyl změněn, nebude zachován v souboru. Proto není možné načíst DirectorySecurity objekt z jednoho souboru a znovu použít stejný objekt na jiný soubor.
Kopírování informací seznamu ACL z jednoho souboru do druhého:
Použijte metodu GetAccessControl k načtení objektu DirectorySecurity ze zdrojového souboru.
Vytvořte nový DirectorySecurity objekt pro cílový soubor.
GetSecurityDescriptorBinaryForm K načtení informací seznamu ACL použijte metodu nebo GetSecurityDescriptorSddlForm metodu zdrojového DirectorySecurity objektu.
SetSecurityDescriptorBinaryForm Pomocí nebo SetSecurityDescriptorSddlForm metody zkopírujte informace načtené v kroku 3 do cílového DirectorySecurity objektu.
Pomocí metody nastavte cílový DirectorySecurity objekt na cílový soubor SetAccessControl .
V prostředích NTFS a ReadAttributes uživateli se udělí, ReadExtendedAttributes pokud má ListDirectory uživatel oprávnění k nadřazené složce. Pokud chcete odepřít ReadAttributes nadřazený adresář a ReadExtendedAttributesodepřít ho, zamítáte ListDirectory ho.