|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Привет, братья по оружию! Пришел отнимать хлеб у достойнейших представителей MS-технологий :) "Но токма волею пославшей мя жены". Итак, задача: web-приложение, массивы данных, пользователи их вносят и редактируют. Необходимо реализовать разграничение доступа на уровне записей - чтобы удалять и редактировать мог только автор. Посоветуйте, пожалуйста, самый популярный в нашей синагоге отходняк лучшие практики реализации подобных задач! Имею под рукой VS2012, ASP.NET MVC 4, EF, MSSQL 2014, зародыш приложения. Заранее благодарен! P.S. По форуму честно прошелся в поиске решений, но по ключевым словам выпадает куча материала, не имеющего отношения к задаче :( ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 10:54 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльVS2012ну какие практики со старьем? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 10:59 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Курдль, хранить в базе информацию о том, кем (CreatedBy) и когда (CreatedOn) была создана запись и проверять при при удалении и редактировании ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:06 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Petro123КурдльVS2012ну какие практики со старьем? Вроде бы существует возможность обновить MVC и EF даже для VS2012. А оболочка разве так уж важна?.. Какое обновление Вы сочли бы уже достойным Вашего внимания? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:10 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Petro123КурдльVS2012ну какие практики со старьем? И где старьё, прогрессист? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:11 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльКакое обновление Вы сочли бы уже достойным Вашего внимания? Конечно же VS2017, ASP.NET Core и EF Core ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:12 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
skyANAКурдль, хранить в базе информацию о том, кем (CreatedBy) и когда (CreatedOn) была создана запись и проверять при при удалении и редактировании Знаете, в титрах к сериалам пишут "Автор идеи: такой_то" :) Это и ежу понятно, что запись должна содержать в себе информацию о том, кто её создал, чтобы как-то потом использовать её. Вопрос в том, какие приёмы атрибуты использовать в коде. Как разграничивать по функциям и ролям мне понятно. А как по записям? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:13 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльskyANAКурдль, хранить в базе информацию о том, кем (CreatedBy) и когда (CreatedOn) была создана запись и проверять при при удалении и редактировании Знаете, в титрах к сериалам пишут "Автор идеи: такой_то" :) Это и ежу понятно, что запись должна содержать в себе информацию о том, кто её создал, чтобы как-то потом использовать её. Вопрос в том, какие приёмы атрибуты использовать в коде. Как разграничивать по функциям и ролям мне понятно. А как по записям? Ну как. Можно тупо в начале метода Delete проверить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:16 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Курдль, пример кода удаления привести можете? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:18 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
skyANA, в коде удаления ничего необычного, например как приведено ниже. Понятно, что добавить в него авторизацию (проверку законности удаления) можно. Но не хотелось бы доводить юзера до функции удаления, а потом огорошивать сообщением "А тебе это недоступно!" Корректнее отображать элементы управления в тех строках, где они доступны. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:42 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
ИзопропилPetro123пропущено... ну какие практики со старьем? И где старьё, прогрессист?ты две винды пропускаешь дома или три? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:03 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльPetro123пропущено... ну какие практики со старьем? Вроде бы существует возможность обновить MVC и EF даже для VS2012. А оболочка разве так уж важна?.. Какое обновление Вы сочли бы уже достойным Вашего внимания?минимум 2015 с сервис паком3 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:05 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльНо не хотелось бы доводить юзера до функции удаления, а потом огорошивать сообщением "А тебе это недоступно!"все дважды делают. Слой ГУИ чтобы не огорошить и слой EF или базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:07 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Petro123КурдльНо не хотелось бы доводить юзера до функции удаления, а потом огорошивать сообщением "А тебе это недоступно!"все дважды делают. Слой ГУИ чтобы не огорошить и слой EF или базы. Ок! Я скорее всего справлюсь со слоем EF самостоятельно. Ограничусь просьбой о помощи в части GU. Предположим, что каждый элемент массива данных (запись в таблице) имеет информацию об авторе (id или login или login можно получить через join). Как отобразить элемент управления в строке, где он уместен и не отобразить - где запрещен? Заранее благодарен! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:15 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльОк! Я скорее всего справлюсь со слоем EF самостоятельно.тогда почему нет слов об NET Identity 2. Это вроде волшебная парочка для ролей в ASP. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:30 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльКак отобразить элемент управления в строке, где он уместен и не отобразить - где запрещен? Заранее благодарен! В контроллере А и контроллере Б ( где запрещено)? Если читать разрешено то ставите фильтр любым способом. Хоть на клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:34 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльОк! Я скорее всего справлюсь со слоем EF самостоятельно. Ограничусь просьбой о помощи в части GU. Предположим, что каждый элемент массива данных (запись в таблице) имеет информацию об авторе (id или login или login можно получить через join). Как отобразить элемент управления в строке, где он уместен и не отобразить - где запрещен? Заранее благодарен! вопрос не совсем понятен. Как сделать так, что-бы некоторые строки в таблице были недоступны для редактирования? А их можно совсем не показывать? Или надо показывать все, до дисаблить кнопку Удалить для ряда из них? В таблицу вносится дополнительное скрытое поле "CanDelete", если выбранная строка иммет там True - включать кнопку, иначе - выключать. Понятно, что это только удобство GUI, надо перепроверять на сервере ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:39 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
StalkerS, +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:57 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
StalkerSКурдльОк! Я скорее всего справлюсь со слоем EF самостоятельно. Ограничусь просьбой о помощи в части GU. Предположим, что каждый элемент массива данных (запись в таблице) имеет информацию об авторе (id или login или login можно получить через join). Как отобразить элемент управления в строке, где он уместен и не отобразить - где запрещен? Заранее благодарен! вопрос не совсем понятен. Как сделать так, что-бы некоторые строки в таблице были недоступны для редактирования? А их можно совсем не показывать? Или надо показывать все, до дисаблить кнопку Удалить для ряда из них? В таблицу вносится дополнительное скрытое поле "CanDelete", если выбранная строка иммет там True - включать кнопку, иначе - выключать. Понятно, что это только удобство GUI, надо перепроверять на сервере Коллеги! ТЗ я указал в первом посте: "Необходимо реализовать разграничение доступа на уровне записей - чтобы удалять и редактировать мог только автор." Разве там написано "...чтобы видеть мог только автор"? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 13:02 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльКоллеги! ТЗ я указал в первом посте: "Необходимо реализовать разграничение доступа на уровне записей - чтобы удалять и редактировать мог только автор." Разве там написано "...чтобы видеть мог только автор"? :) там НЕ написано, что он их должен обязательно видеть. Фильтрация строк - страндартный метод решения таких проблем. Если строки должны быть видимы, но кнопки доступны/непоступны в зависимости от текущей строки - решение я написал ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 13:11 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Курдль, Шо за паника? Тебе сразу все варианты дали. Выбирай любой. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 13:44 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Как на ваш взгляд, годный это материал для моих целей? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 14:27 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльНеобходимо реализовать разграничение доступа на уровне записей На уровне "записей" - это объектная модель ДБ, и она, кстати, под "ограничением доступа" понимает также и чтение. Выше БД - нет "записей". Там уже объекты. И к MS SQL имеет уже самое косвенное отношение. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 15:02 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
Курдль, если доберётесь до SQL 2016, то в нем есть нативная подддержка RLS. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 15:03 |
|
Разграничение доступа на уровне записей. ASP.NET MVC, EF
|
|||
---|---|---|---|
#18+
КурдльКак на ваш взгляд, годный это материал для моих целей?имхо подходит. Дерзай и отпишись! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 15:08 |
|
|
start [/forum/topic.php?fid=18&fpage=20&tid=1355201]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
90ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 195ms |
0 / 0 |