Сайт о программировании, математике и моделировании
Записи с метками файлы
Обзор методов обеспечения контроля доступа к файлам посредством классов среды .NET Framework в С#
20 Июнь
Обеспечение безопасности особенно важно при работе с файлами, т.к. файлы – это наиболее часто используемый вид разделяемых ресурсов, доступ к которым должен контролироваться.
Пользователи являются субъектами доступа, а разделяемые ресурсы — объектами. Пользователь осуществляет доступ к объектам операционной системы не непосредственно, а с помощью прикладных процессов, которые запускаются от его имени. Для каждого типа объектов существует набор операций, которые с ними можно выполнять (например, операции чтения, записи, удаления). Система контроля доступа должна предоставлять средства для задания прав пользователей по отношению к объектам.
Только с появлением .NET Framework 2.0 появился простой способ доступа и работы со списками контроля доступа для файлов и каталогов — Access Control Lists (ACL), предоставив новое пространство имен System.Security.Access Control. В этом пространстве имен содержится все необходимое для манипуляций установками безопасности для файлов и каталогов.
Архитектура технологии ACL. Пространство имен System.Security.AccessControl обеспечивает доступ к спискам управления доступом посредством удобных в использовании классов, в значительной мере скрывающих сложность системы безопасности ACL Windows. Это пространство имен содержит программные элементы, обеспечивающие управление доступом к защищаемым объектам и аудит операций, связанных с безопасностью этих объектов.
Основные классы, которые могут использоваться для создания и изменения списков ACL при работе с файлами: FileSecurity, FileSystemAccessRule, FileSystemAuditRule, при работе с каталогами: DirectorySecurity, DirectorySystemAccessRule, DirectorySystemAuditRule. Читать дальше >
Анализ методов работы с файлами с использованием встроенных классов среды .NET
12 Июнь
Так как язык программирования С# предназначен для применения на платформе .NET, а центральной частью каркаса .NET является его Общеязыковая исполняющая среда — Common Language Runtime (CLR) и следовательно используется код, исполняемый под управлением CLR (управляемый код), то для корректной и эффективной работы с файлами важно знать, как управляемые приложения создают новые объекты, как контролируется время жизни этих объектов и как освобождается занятая ими память.
Любая программа использует ресурсы: файлы, буферы в памяти, пространство экрана, сетевые соединения, базы данных и т. д. В объектно-ориентированной среде каждый тип идентифицирует некоторый ресурс, доступный программе. Для получения доступа к ресурсу требуется:
1. Выделить память для типа, представляющего ресурс, вызвав команду промежуточного языка newobj, которая генерируется при использовании оператора new в программе на С#; Читать дальше >
Анализ системы классов .NET Framework, ответственных за работу с файловой системой
11 Июнь
Файловая система – это способ хранения и организации доступа к данным на информационном носителе или его разделе. Наличие файловой системы позволяет определить, как называется файл и где он находится. Файл – это именованная и упорядоченная коллекция отдельных последовательностей байтов, имеющих постоянное место хранения. В языке С# каждый файл рассматривается как последовательность байтов называемая потоком.
Весь ввод и вывод в .NET Framework подразумевает использование потоков. Поток – это абстрактное представление последовательного устройства. Последовательное устройство – это нечто такое, что хранит данные в линейной манере и точно таким же образом обеспечивает доступ к ним: по одному байту за раз. Сохранение устройства абстрактным означает, что лежащие в основе источник/приемник данных могут быть скрыты. Такой уровень абстракции обеспечивает повторное использование кода и позволяет писать более обобщенные процедуры, потому что нет необходимости заботиться о действительной специфике передачи данных. Читать дальше >