Задать вопрос
Therapyx
@Therapyx
Data Science

Какая должна быть структура SQL запросов, учитывая текущего пользователя?

Имеется приложение на asp.net webforms с всякими GridView, DetailsView таблицами, соединенные с MSSQL базой. Появилась потребность в нескольких пользователях, и чтобы каждый пользователь видел только свои данные в этих таблицах. Я примерно представляю как это делается, но хотелось бы услышать замечания, вдруг я что-то себе не то выдумал :)
1) Создать таблицу юзеров.
2) Добавить в основую таблицу(к каждой записи) UserID как foreign key
3) Изменить запрос "Select * from 'table'" на "Select * from 'table' where UserID = @UserID" Послего чего параметр @UserID с# брать из CurrentSession, которая держит в себе этот айди после логина на сайт. И соответственно остальные процедуры переделать точно также на апдейты, делиты итд :)

В правильном направлении я мыслю? Или все же есть более лучше(правильные) варианты?
  • Вопрос задан
  • 342 просмотра
Подписаться 1 Оценить Комментировать
Ответ пользователя Станислав Макаров К ответам на вопрос (4)
Nipheris
@Nipheris Куратор тега C#
Направление мыслей верное, с технической точки зрения тоже. Не уверен насчет необходимости обновления апдейтов и делитов - если вы уже проверили UserId и выяснили, что запись принадлежит конкретному пользователю, и получили ее Id - то и удалять уже достаточно только по Id (за исключением, конечно, случая, когда вам нужно удалить ВСЕ записи конкретного пользователя).
Правильность этого варианта зависит от вашей задачи. Если вам достаточно знать пользователя-владельца - то все хорошо, но если вы потом захотите более сложную систему доступа к записям - например давать и другим пользователям доступ к записям пользователя A, то и схема базы также усложнится.
Ответ написан