powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с ACL в .NET Core 2
25 сообщений из 27, страница 1 из 2
Работа с ACL в .NET Core 2
    #39634590
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

В .Net Framework работа с ACL каталогов и файлов у меня не вызывает проблем. Сейчас работать с ACL потребовалось в проекте, использующем .NET Core 2. Для этого подключил пакет System.IO.FileSystem.AccessControl . На сайте Майкрософт вижу некоторую документацию по теме, но без примеров кода.

JetBrains Rider для класса FileSecurity показывает следующий исходный код:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
// Decompiled with JetBrains decompiler
// Type: System.Security.AccessControl.FileSecurity
// Assembly: System.IO.FileSystem.AccessControl, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// MVID: 95551778-530B-4B9F-8EB6-1D54F85B3C4B
// Assembly location: /usr/share/dotnet/shared/Microsoft.NETCore.App/2.0.5/System.IO.FileSystem.AccessControl.dll

namespace System.Security.AccessControl
{
  [SecurityCritical]
  public sealed class FileSecurity : FileSystemSecurity
  {
    public FileSecurity()
    {
      throw new PlatformNotSupportedException(SR.PlatformNotSupported_AccessControl);
    }

    public FileSecurity(string fileName, AccessControlSections includeSections)
    {
      throw new PlatformNotSupportedException(SR.PlatformNotSupported_AccessControl);
    }
  }
}



Такой расклад не внушает оптимизма...

Можно ли вообще в .NET Core 2 каким-то образом работать с ACL каталогов и файлов?

Если "да", то как получить FileSecurity интересующего меня файла (и какой пакет для этого использовать, если обозначенный выше содержит лишь заглушки)? В .NET Framework для этого используется метод File.GetAccessControl(true,true,typeof(NTAccount)) , но в .NET Core 2 не вижу его.

Если "да", то как применить настройки прав доступа для интересующего меня файла? В .NET Framework для этого используется метод File.SetAccessRule(security) , но в .NET Core 2 не вижу его.

С уважением,
Андрей
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634596
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,

.NET Core абстрагируется от ОС. А .NET Framework реализует доступ к функциям винды. Вы чего хотите? Винду? Так используйте классический .NET Framework.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634609
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВы чего хотите? Винду? Так используйте классический .NET Framework.
В качестве платформы была выбрана ASP.NET Core MVC 2 и код уже написан.

Я никогда не работал с классическим ASP.NET Web Forms , но изучать стал сразу ASP.NET Core MVC 2 , поскольку в своей книге Pro ASP.NET Core MVC 2, 7th Editio n Адам Фримэн пишет, что ASP.NET Core MVC 2 - это очередной этап развития ASP.NET и является полным пересмотром этой платформы Майкрософтом, с полным переписыванием её с нуля (по разным, указанным автором причинам).

Насколько я знаю, с ACL на сегодняшний день уже можно работать и в Linux, поэтому ожидал, что .NET Core 2 будет поддерживать такую возможность.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634617
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum ASP.NET Web Forms WebForms тут вообще не причем. Вместо ASP.NET Core MVC нужно использовать ASP.NET MVC, если нужен именно Windows
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634620
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,
Есть еще веб проекты и десктоп.
Я много где читал что Core будет реализован в первую очередь для веб проектов.
Плюс сейчас все очень сырое.
Поэтому уточняйте свои цели и вопросы.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634627
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProWebForms тут вообще не причем. Вместо ASP.NET Core MVC нужно использовать ASP.NET MVC, если нужен именно Windows
Благодарю за информацию. Совместим ли ASP.NET MVC с ASP.NET Core MVC 2 на уровне исходного кода файлов проекта? Т.е. если я создам новый проект ASP.NET MVC и скопирую в него свои исходники, то будет ли он компилироваться?
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634633
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumБлагодарю за информацию. Совместим ли ASP.NET MVC с ASP.NET Core MVC 2 на уровне исходного кода файлов проекта? Т.е. если я создам новый проект ASP.NET MVC и скопирую в него свои исходники, то будет ли он компилироваться?Нюансы есть, но в целом, если не используются всякие извращения - должно работать. Скорее всего придется поработать над стартовой частью.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634635
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Я много где читал что Core будет реализован в первую очередь для веб проектов.
Плюс сейчас все очень сырое.
Поэтому уточняйте свои цели и вопросы.
Я ведь указал и то и другое.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634638
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я предполагал, что если .NET Core 2 присутствуют те же классы, предназначенные для работы с ACL, что имеются в .NEt Framework, то ими можно как-то пользоваться.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634642
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНюансы есть, но в целом, если не используются всякие извращения - должно работать. Скорее всего придется поработать над стартовой частью.
Спасибо, попробую.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634649
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumPetro123Я много где читал что Core будет реализован в первую очередь для веб проектов.
Плюс сейчас все очень сырое.
Поэтому уточняйте свои цели и вопросы.
Я ведь указал и то и другое.
Мысль была что платформа Core очень сырая для продакшен больших проектов.
Как ваше мнение?
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634670
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Мысль была что платформа Core очень сырая для продакшен больших проектов.
Как ваше мнение?
Я пока не настолько хорошо знаком с .NET Core 2. :) Да, платформа пока не настолько развита, как классическая, но Майкрософт оперативно работает над этим. У меня сейчас и проект-то небольшой, вот и тренируюсь, что называется "на кошках".

Работа с ACL изначально не планировалась, но в ходе тестирования выяснилось, что она нужна, иначе некоторые файлы в подкаталогах, появляющиеся в процессе эксплуатации web-приложения могут оказаться недоступными для чтения (отсутствуют необходимые права на чтение). Эти подкаталоги создаются сторонним приложением. Если затем вручную на подкаталог дать права на чтение для всех юзеров), то проблема чтения его файлов исчезает. Но хотелось бы делать это не вручную.

Не в последнюю очередь .NET Core MVC 2 интересен мне тем, что позволяет хостить web-приложения не только в IIS, но и в NGINX на Linux.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634676
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositumв ходе тестирования выяснилось, что она нужна, иначе некоторые файлы в подкаталогах, появляющиеся в процессе эксплуатации web-приложения могут оказаться недоступными для чтения (отсутствуют необходимые права на чтение). Эти подкаталоги создаются сторонним приложением
Интересно.
У меня в линуксе веб сервер пишет и читает со своими правами веб сервера.
Конечно, если у вас внешнее приложение влезет в домен веб приложения то могут быть проблемы.
Может в этом дело?
Что стороннее приложение некорректно работает в папках веб сервера?
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634682
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю на сайте Майкрософт рекомендации по выбору платформы (ASP.NET vs ASP.NET Core). Насколько я вижу, в ASP.NET нет Razor Pages, который я использую в своём проекте, т.о. копированием файлов исходного кода, при попытке перенести всё на ASP.NET будет не обойтись, потому пытаться не буду.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634691
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,
Вместо того стороннего приложения делаете веб приложение на этом же веб сервере.
Тогда правами занимается веб сервер и вашей проблемы не должно быть.
IMHO.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634692
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Конечно, если у вас внешнее приложение влезет в домен веб приложения то могут быть проблемы.
Может в этом дело?
Что стороннее приложение некорректно работает в папках веб сервера?
Там у подкаталога, находящегося в каталоге моего web-приложения и создаваемого сторонним внешним приложением, по умолчанию отсутствуют какие-либо права для AllUsers, а нужны права для чтения. Вот я и хотел в коде web-приложения исправлять это, в случае необходимости. А так придётся отдавать это на откуп внешнего приложения, создающего такой подкаталог.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634695
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Вместо того стороннего приложения делаете веб приложение на этом же веб сервере.
Тогда правами занимается веб сервер и вашей проблемы не должно быть.
Это сторонняя расчётная софтина на C++, разрабатываемая не мною. :)
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634699
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumPetro123Вместо того стороннего приложения делаете веб приложение на этом же веб сервере.
Тогда правами занимается веб сервер и вашей проблемы не должно быть.
Это сторонняя расчётная софтина на C++, разрабатываемая не мною. :)))))
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634705
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumЧитаю на сайте Майкрософт рекомендации по выбору платформы (ASP.NET vs ASP.NET Core). Насколько я вижу, в ASP.NET нет Razor Pages, который я использую в своём проектеТам всего лишь написано, что это рекомендуемая технология, и означает лишь то, что в Core нет многого из того, что перечислено для традиционного ASP.NET

Так что RAZOR там есть, не переживайте )
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634710
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перед тем как писать на каком то фреймворке или технологии стоит убедиться, что все её возможности позволяют реализовать задуманное. но думаю даже в CORE этот вопрос решаем, без чрезмерного труда.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634711
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumЯ предполагал, что если .NET Core 2 присутствуют те же классы, предназначенные для работы с ACL, что имеются в .NEt Framework, то ими можно как-то пользоваться.

ASP.NET MVC Core 2 прекрасно работает на платформе .NET Framework
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634717
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123))))
Пишет др. программист, в нашей компании. Он не силён в программировании на .NET и под WEB в целом.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634719
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttASP.NET MVC Core 2 прекрасно работает на платформе .NET Framework
Я не понял этой фразы. В настройках проекта нет возможности переключения целевой платформы с .NET Core на .NET Framework, если вы это имели в виду.
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634722
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumЯ не понял этой фразы. В настройках проекта нет возможности переключения целевой платформы с .NET Core на .NET Framework, если вы это имели в виду.можно выбрать при создании нового проекта
...
Рейтинг: 0 / 0
Работа с ACL в .NET Core 2
    #39634728
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proможно выбрать при создании нового проекта
Согласен. :) Спасибо, попробую.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с ACL в .NET Core 2
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]