Heim > Backend-Entwicklung > C++ > Wie kann ich programmgesteuert nach Schreibberechtigungen für Dateien und Verzeichnisse in .NET suchen?

Wie kann ich programmgesteuert nach Schreibberechtigungen für Dateien und Verzeichnisse in .NET suchen?

DDD
Freigeben: 2025-01-04 14:11:44
Original
452 Leute haben es durchsucht

How Can I Programmatically Check for Write Permissions to Files and Directories in .NET?

Schreibberechtigungen für Dateien und Verzeichnisse festlegen

Viele Programmiervorgänge erfordern die Fähigkeit, in Dateien oder Verzeichnisse auf dem System des Benutzers zu schreiben. In .NET bietet die File-Klasse eine unkomplizierte Methode zum Schreiben von Inhalten in Dateien. Es ist jedoch wichtig, die Schreibberechtigungen zu prüfen, bevor Sie mit dem Vorgang fortfahren.

Wenn versucht wird, ohne die erforderlichen Berechtigungen in eine Datei zu schreiben Berechtigungen, wird das Programm auf eine UnauthorizedAccessException stoßen. Um dieses Problem zu beheben, können Sie die PermissionSet- und Permission-Klassen aus dem System.Security-Namespace nutzen.

Der folgende Code zeigt, wie PermissionSet verwendet wird, um nach Schreibberechtigungen für eine bestimmte Datei zu suchen:

public void ExportToFile(string filename)
{
    var permissionSet = new PermissionSet(PermissionState.None);
    var writePermission = new FileIOPermission(FileIOPermissionAccess.Write, filename);
    permissionSet.AddPermission(writePermission);

    if (permissionSet.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet))
    {
        using (FileStream fstream = new FileStream(filename, FileMode.Create))
        using (TextWriter writer = new StreamWriter(fstream))
        {
            writer.WriteLine("sometext");
        }
    }
    else
    {
        // Perform recovery actions, as write permission is not granted
    }
}
Nach dem Login kopieren

Wenn das PermissionSet eine Teilmenge der Berechtigungen der aktuellen Anwendungsdomäne ist, ist der Schreibvorgang erfolgreich. Andernfalls muss das Programm Wiederherstellungsaktionen ausführen, da ihm die erforderlichen Berechtigungen fehlen.

Leider gibt es keine programmatische Möglichkeit, einer Datei oder einem Verzeichnis Schreibrechte zu erteilen. Stattdessen müssen Sie den Benutzer auffordern, den Zugriff manuell über die Benutzeroberfläche oder ein Drittanbieter-Tool zu gewähren.

Das obige ist der detaillierte Inhalt vonWie kann ich programmgesteuert nach Schreibberechtigungen für Dateien und Verzeichnisse in .NET suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage