powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разграничение доступа на уровне записей. ASP.NET MVC, EF
25 сообщений из 160, страница 2 из 7
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651128
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeКурдль,

если доберётесь до SQL 2016, то в нем есть нативная подддержка RLS.
Это если БЛ в базе делать, а не в АппСервере.
Как бы противоположный способ от ОРМ и EF.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651136
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльКак на ваш взгляд, годный это материал для моих целей?
Фигня, не подходит.

В заголовке про авторизацию, вроде про разграничение прав, а в тексте про аутентификацию.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651138
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeКурдль,

если доберётесь до SQL 2016, то в нем есть нативная подддержка RLS.
Это будет работать, если пользователи и роли определены на уровне SQL Server, а не на уровне приложения.
Вангую, что у ТС последнее
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651140
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльИмею под рукой VS2012, ASP.NET MVC 4, EF, MSSQL 2014, зародыш приложения.
А что уже есть в этом зародыше?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651143
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

сделайте просто:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public bool Delete(SomeEntity entity)
{
    if (!security.CanDelete(entity))
    {
        return false;
    }

    // ...
}


Чем не вариант?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651146
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таком варианте должен присутствовать некий Context, где содержится в том числе информация о текущем пользователе.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651224
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAbig-dukeКурдль,

если доберётесь до SQL 2016, то в нем есть нативная подддержка RLS.
Это будет работать, если пользователи и роли определены на уровне SQL Server, а не на уровне приложения.
Вангую, что у ТС последнее
Фигово Вы вангуете :)
Пользователи и роли определены в БД и связаны членством.
Зародыш моего проекта имеет парочку контроллеров, необходимые методы для добавления/изменения/удаления данных.
Ну, какую-никакую
Кроме того, он имеет унаследованный от какого-то моего древнего проекта механизм "ASP.NET Membership Provider" с заглушками вместо реальных обращений к БД.
Вот надеюсь понять, куда ушла технология за те годы, пока я не прикасался к MS VS.
И главное - как мне облегчить разовую работу без углубления в фундаментальные науки и академические исследования.

P.S. Аутентификация, авторизация, идентификация и аудит, как правило, падают недалеко от яблони общего фрэймворка под названием security.

P.P.S. Многочисленные упреки в мой адрес по поводу использования устаревших инструментов сподвигли меня на решение накатить VS2017, которая где-то пылится в чулане. Теперь жду новых советов.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651235
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльФигово Вы вангуете :)
Пользователи и роли определены в БД и связаны членством.
То есть каждый пользователь ASP.NET MVC приложения соединяется с БД из под своей личной учётки в БД, а не какой-то общей для всего приложения, прописанной в connectionString?

Это же важный момент, что же Вы молчали
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651248
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТо есть каждый пользователь ASP.NET MVC приложения соединяется с БД из под своей личной учётки в БД, а не какой-то общей для всего приложения, прописанной в connectionString?

Это же важный момент, что же Вы молчали

Э-э-э... Соединение с БД проискодит с помощью технологической учетной записи, параметры которой в connectionString.
Но данные о каждом пользователе хранятся в БД (из логины, пароли, членство в ролях и т.п.)
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651249
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так вам же уже выше сказали, что у вас апп-секьюрити, вот из этого факта и гуглите решения
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651270
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльпомощью технологической учетной записи,EF под ней ходит.

КурдльТеперь жду новых советов.
Каких?
Делайте по фреймворку identity
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651272
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльнакатить VS2017,core или не Core это сами решайте.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651318
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Каких?
Делайте по фреймворку identity
А для этого OWIN обязателен?
Я увязаю все больше в технологиях, которых не знаю и не имею опыта.
Я не понимаю, как они работают, как с ними совместим типовой хостинг, какие подводные камни меня ждут.
Для саморазвития и прокачки скилов это великолепно, а для сроков и качества маленького проекта - не очень :(
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651359
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльOWINну его же нет по ссылке.
Что вдруг вас взволновало?
Не отвлекайтесь.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651362
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123КурдльOWINну его же нет по ссылке.
Что вдруг вас взволновало?
Не отвлекайтесь.

Код: html
1.
2.
3.
4.
5.
Подключаем необходимые пакеты Nuget

Microsoft.AspNet.Identity.EntityFramework - этот пакет включает реализацию фреймворка с использованием Entity Framework и SQL Server;
Microsoft.AspNet.Identity.Core содержит основные интерфейсы для системы авторизации ASP.NET Identity Framework;
Microsoft.AspNet.Identity.OWIN содержит функции для подключения системы в OWIN спецификацию.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651389
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльskyANAТо есть каждый пользователь ASP.NET MVC приложения соединяется с БД из под своей личной учётки в БД, а не какой-то общей для всего приложения, прописанной в connectionString?

Это же важный момент, что же Вы молчали

Э-э-э... Соединение с БД проискодит с помощью технологической учетной записи, параметры которой в connectionString.
Но данные о каждом пользователе хранятся в БД (из логины, пароли, членство в ролях и т.п.)
Значит вангование моё - правильное
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651471
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльPetro123пропущено...
ну его же нет по ссылке.
Что вдруг вас взволновало?
Не отвлекайтесь.

Код: html
1.
2.
3.
4.
5.
Подключаем необходимые пакеты Nuget

Microsoft.AspNet.Identity.EntityFramework - этот пакет включает реализацию фреймворка с использованием Entity Framework и SQL Server;
Microsoft.AspNet.Identity.Core содержит основные интерфейсы для системы авторизации ASP.NET Identity Framework;
Microsoft.AspNet.Identity.OWIN содержит функции для подключения системы в OWIN спецификацию.


Решаете проблемы по мере их поступления.
Делаете Hello World.
Если ошибка, то гуглите. Не помогает, спрашиваете.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651475
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКурдльпропущено...


Э-э-э... Соединение с БД проискодит с помощью технологической учетной записи, параметры которой в connectionString.
Но данные о каждом пользователе хранятся в БД (из логины, пароли, членство в ролях и т.п.)
Значит вангование моё - правильное
Просто я не ясно выразился.

В самом SQL server есть Logins, Users, Server-Level Roles, Database-Level Roles, Application Roles:
https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/getting-started-with-database-engine-permissions

И вот я вангую, что Вы используете не их, а создали свои таблицы, где харните логины, пароли, членство в ролях и т.п.
Верно?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651482
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПросто я не ясно выразился.

В самом SQL server есть Logins, Users, Server-Level Roles, Database-Level Roles, Application Roles:
https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/getting-started-with-database-engine-permissions

И вот я вангую, что Вы используете не их, а создали свои таблицы, где харните логины, пароли, членство в ролях и т.п.
Верно?
Ну Вы шаман!!! Угадать решение, которое выбирает 99% разработчиков - это бинго! :)
Не знаю последних фич MSSQL Server, но ранее для управления безопасностью (в т.ч. пользователями и ролями) было необходимо иметь права dbo. Так же ведут себя уважаемые СУБД (oracle, DB2, Sybase и т.п.). Кто ж дает технологической записи права dbo?..
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651484
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльНеобходимо реализовать разграничение доступа на уровне записей - чтобы удалять и редактировать мог только автор.

Это сегодня. А завтра?

Вам разграничение доступа нужно на уровне приложения, или на уровне БД?
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651490
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Он же сказал ef. Значит логично что база не при делах))))
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651491
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123hVostt,
Он же сказал ef. Значит логично что база не при делах))))

Ну хз

if(бла-бла-бла)...
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651495
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльТак же ведут себя уважаемые СУБД (oracle, DB2, Sybase и т.п.)почти.
В оракле можно делегировать часть прав или хранимку безопасную выдать только Иванову, но ты прав.
В трех звенке роли субд не используют (веб прложение)
В клиент сервере используют.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651522
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123КурдльТак же ведут себя уважаемые СУБД (oracle, DB2, Sybase и т.п.)почти.
В оракле можно делегировать часть прав или хранимку безопасную выдать только Иванову, но ты прав.
В трех звенке роли субд не используют (веб прложение)
В клиент сервере используют.
Ну если уж совсем отклониться от темы: набирающая популярность платформа Oracle Application Express предлагает для трехзвенки в том числе и вариант аутентификации средствами СУБД (прошу предыдущих ораторов не путать термины "разграничение доступа на уровне данных" и "управление доступом средствами БД").
Но это как я говорил и как Вы правильно поправили - требует выделения особых привилегий.
...
Рейтинг: 0 / 0
Разграничение доступа на уровне записей. ASP.NET MVC, EF
    #39651526
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльskyANAПросто я не ясно выразился.

В самом SQL server есть Logins, Users, Server-Level Roles, Database-Level Roles, Application Roles:
https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/getting-started-with-database-engine-permissions

И вот я вангую, что Вы используете не их, а создали свои таблицы, где харните логины, пароли, членство в ролях и т.п.
Верно?
Ну Вы шаман!!! Угадать решение, которое выбирает 99% разработчиков - это бинго! :)
Не знаю последних фич MSSQL Server, но ранее для управления безопасностью (в т.ч. пользователями и ролями) было необходимо иметь права dbo. Так же ведут себя уважаемые СУБД (oracle, DB2, Sybase и т.п.). Кто ж дает технологической записи права dbo?..
Да Вы, я смотрю, весёлый парень: сами сначала подвергли под сомнения моё умение ванговать, а теперь ни капельки не удивляетесь, что я оказался прав

Короче вариант
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public bool Delete(SomeEntity entity)
{
    if (!security.CanDelete(entity))
    {
        return false;
    }

    // ...
}


волне Вам подходит
...
Рейтинг: 0 / 0
25 сообщений из 160, страница 2 из 7
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разграничение доступа на уровне записей. ASP.NET MVC, EF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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