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

В .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
23.04.2018, 11:40
    #39634596
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Compositum,

.NET Core абстрагируется от ОС. А .NET Framework реализует доступ к функциям винды. Вы чего хотите? Винду? Так используйте классический .NET Framework.
...
Рейтинг: 0 / 0
23.04.2018, 11:56
    #39634609
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
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
23.04.2018, 12:00
    #39634617
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Compositum ASP.NET Web Forms WebForms тут вообще не причем. Вместо ASP.NET Core MVC нужно использовать ASP.NET MVC, если нужен именно Windows
...
Рейтинг: 0 / 0
23.04.2018, 12:04
    #39634620
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Compositum,
Есть еще веб проекты и десктоп.
Я много где читал что Core будет реализован в первую очередь для веб проектов.
Плюс сейчас все очень сырое.
Поэтому уточняйте свои цели и вопросы.
...
Рейтинг: 0 / 0
23.04.2018, 12:10
    #39634627
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Shocker.ProWebForms тут вообще не причем. Вместо ASP.NET Core MVC нужно использовать ASP.NET MVC, если нужен именно Windows
Благодарю за информацию. Совместим ли ASP.NET MVC с ASP.NET Core MVC 2 на уровне исходного кода файлов проекта? Т.е. если я создам новый проект ASP.NET MVC и скопирую в него свои исходники, то будет ли он компилироваться?
...
Рейтинг: 0 / 0
23.04.2018, 12:13
    #39634633
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
CompositumБлагодарю за информацию. Совместим ли ASP.NET MVC с ASP.NET Core MVC 2 на уровне исходного кода файлов проекта? Т.е. если я создам новый проект ASP.NET MVC и скопирую в него свои исходники, то будет ли он компилироваться?Нюансы есть, но в целом, если не используются всякие извращения - должно работать. Скорее всего придется поработать над стартовой частью.
...
Рейтинг: 0 / 0
23.04.2018, 12:16
    #39634635
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Petro123Я много где читал что Core будет реализован в первую очередь для веб проектов.
Плюс сейчас все очень сырое.
Поэтому уточняйте свои цели и вопросы.
Я ведь указал и то и другое.
...
Рейтинг: 0 / 0
23.04.2018, 12:17
    #39634638
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Я предполагал, что если .NET Core 2 присутствуют те же классы, предназначенные для работы с ACL, что имеются в .NEt Framework, то ими можно как-то пользоваться.
...
Рейтинг: 0 / 0
23.04.2018, 12:18
    #39634642
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Shocker.ProНюансы есть, но в целом, если не используются всякие извращения - должно работать. Скорее всего придется поработать над стартовой частью.
Спасибо, попробую.
...
Рейтинг: 0 / 0
23.04.2018, 12:20
    #39634649
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
CompositumPetro123Я много где читал что Core будет реализован в первую очередь для веб проектов.
Плюс сейчас все очень сырое.
Поэтому уточняйте свои цели и вопросы.
Я ведь указал и то и другое.
Мысль была что платформа Core очень сырая для продакшен больших проектов.
Как ваше мнение?
...
Рейтинг: 0 / 0
23.04.2018, 12:41
    #39634670
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с ACL в .NET Core 2
Petro123Мысль была что платформа Core очень сырая для продакшен больших проектов.
Как ваше мнение?
Я пока не настолько хорошо знаком с .NET Core 2. :) Да, платформа пока не настолько развита, как классическая, но Майкрософт оперативно работает над этим. У меня сейчас и проект-то небольшой, вот и тренируюсь, что называется "на кошках".

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

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

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

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


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