powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по проектированию ASP.Net Core 3.1
5 сообщений из 5, страница 1 из 1
Вопрос по проектированию ASP.Net Core 3.1
    #39994865
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Как правильно реализовывается запрет на выполнение запроса? к примеру, есть запрос типа request/getdata/355
в документе 1 я имею право его выполнять, а вот в документе 2 уже нет(к примеру не я его создатель и тд) . Я, конечно могу, проверять каждый запрос через БД, но на сколько это уложит БД и на сколько это вообще правильно? Как вообще разруливаются подобные вещи?

я то понимаю, что я дожен его проверить, и скорее всего через базу, но интересует опыт больших корпоративных проектов с онлайном 1000+

2. Кто как в 3.1 возвращает данные выполнения запроса? Ну типа асинхронно, строкой, объектом и тд и почему. Я видел разные реализации, не могу определится. Дет пару месяцев назад я переделывал на асинхронное выполнение запроса, но потом оказалось что они в разы медленнее синхронных, если ОС не винда.
...
Рейтинг: 0 / 0
Вопрос по проектированию ASP.Net Core 3.1
    #39994914
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
1. Как правильно реализовывается запрет на выполнение запроса? к примеру, есть запрос типа request/getdata/355
в документе 1 я имею право его выполнять, а вот в документе 2 уже нет(к примеру не я его создатель и тд) . Я, конечно могу, проверять каждый запрос через БД, но на сколько это уложит БД и на сколько это вообще правильно? Как вообще разруливаются подобные вещи?


А если не через БД, как программа поймёт, что к документу пользователю нет доступа?
Какого волшебства вы ожидаете? :)
В любом случае через БД, хотите снизить нагрузку на БД -- кешируйте, но не забывайте про инвалидацию.

ther
опыт больших корпоративных проектов с онлайном 1000+


Не имеет значения большой проект или маленький, вы сейчас воюете с вымышленной проблемой.
Первое, вы сами придумали идею "положат" БД, не столкнувшись с этим в реальности.
Второе, если вы подразумеваете намеренную атаку, то на стороне приложения такая защита не реализуется.
Для этого используется WAF.

ther
2. Кто как в 3.1 возвращает данные выполнения запроса? Ну типа асинхронно, строкой, объектом и тд и почему. Я видел разные реализации, не могу определится. Дет пару месяцев назад я переделывал на асинхронное выполнение запроса, но потом оказалось что они в разы медленнее синхронных, если ОС не винда.


По возможности асинхронно.
Что значит строкой/объектом/и т.д.?
Зависит исключительно от того, как реализован клиент.
Сейчас стандарт это возврат JSON, в asp.net core объект транслируется в JSON автоматически, из коробки.
Это реализуется объектом действия ObjectResult.

В действии контроллера вы возвращаете объект так:

return Ok(yourObject);

ther
Дет пару месяцев назад я переделывал на асинхронное выполнение запроса, но потом оказалось что они в разы медленнее синхронных, если ОС не винда.


Асинхронное выполнение не ускоряет выполнение запроса, скорее немножко замедляет.
Если вы не понимаете, зачем вам асинхронное выполнение, почитайте про это отдельно.
Тут тоже никакой магии нет :)
...
Рейтинг: 0 / 0
Вопрос по проектированию ASP.Net Core 3.1
    #39994944
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, почему вы решили, что я жду зайца из рукава. Пост не про магию, а про опыт.

так как для того, что бы лочить запрос, надо понимать, что его надо лочить, к примеру надо скрыть на фронте какой то таб, соответственно, все запросы в этом табе должны быть залочены. Или есть 2 таба, с одним и тем же запросом, но разными параметрами, один надо лочить, другой нет. У меня есть общая картина, как это сделать, но я хотел бы узнать, как это делают в рабочих проектах, какой структура таблиц должна быть, ведь надо где то хранить url запроса и компонент, который отображает результат выполнения этого запроса и тд
...
Рейтинг: 0 / 0
Вопрос по проектированию ASP.Net Core 3.1
    #39994986
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
не знаю, почему вы решили, что я жду зайца из рукава. Пост не про магию, а про опыт.


Когда глины нет, но надо слепить горшок -- это уже не про опыт :)

ther
так как для того, что бы лочить запрос, надо понимать, что его надо лочить, к примеру надо скрыть на фронте какой то таб, соответственно, все запросы в этом табе должны быть залочены. Или есть 2 таба, с одним и тем же запросом, но разными параметрами, один надо лочить, другой нет. У меня есть общая картина, как это сделать, но я хотел бы узнать, как это делают в рабочих проектах, какой структура таблиц должна быть, ведь надо где то хранить url запроса и компонент, который отображает результат выполнения этого запроса и тд


Теперь я уже не понимаю, чего вы хотите.
Как это в интерфейсе реализовать? Это уже UX, и немного не в тему?
Как "лочить" -- это просто, верните код ошибки 404.
В ASP.NET Core это делается просто:

return NotFound();

Слово "лочить" в разработке означает инструменты для синхронизации потоков или блокировки ресурса при конкурентном доступе.
...
Рейтинг: 0 / 0
Вопрос по проектированию ASP.Net Core 3.1
    #39994989
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так тебе же уже все ответили.
Урл хранить не надо
А остальное, что кому можно - роль, пользователь, ресурс
Роль и пользователь определяется стандартно, средствами asp.net. уже тут 403 может вернуть само приложение, изкаробки
А дальше - запросами в вашу систему прав
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по проектированию ASP.Net Core 3.1
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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