powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема с пользователями
9 сообщений из 9, страница 1 из 1
Проблема с пользователями
    #37691374
Доброго времени суток.

Имеется web-приложение с авторизацией через aspnet membership. Пользователей предполагается в районе 500 - 1000. Также есть ms sql сервер, сейчас для подключения к базе используется один пользователь. Но возникла проблема с выводом данных для разных пользователей, то есть один пользователь должен видеть одни данные, другой - другие, третий - все и т.д.
Фильтровать данные для каждого пользователя на уровне приложения не вариант, т.к. сильно теряется производительность.
Подскажите пожалуйста, каким образом можно поступить в этом случае.
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37691391
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корниенко Василий,
Как вариант, обращаться к базе не прямыми селектами, а через представления или процедуры, в которых и ограничивать вывод в зависимости от пользователя, переданного в качестве входного параметра, глобальной переменной и т.д.
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37691406
Максим Н,

Всё так и происходит, данные выводятся через представления, но в представлении нельзя использовать переменные.
Видел отличное решение этой проблемы в системах, где используется Windows авторизация, с помощью функции SUSER_NAME() определяется пользователь и представления получаются уже отфильтрованными для определённого пользователя.
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37691546
не могу поверить, что ни у кого не возникало похожей проблемы = (
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37691553
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корниенко Василийне могу поверить, что ни у кого не возникало похожей проблемы = (

В этом разделе форума?.. Шутишь!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37691583
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 03/05/2012 01:33 PM, Корниенко Василий wrote:

> Фильтровать данные для каждого пользователя на уровне приложения не вариант,
> т.к. сильно теряется производительность.

Вариант кстати, и достаточно неплохой.
Дело в том, что по "видимости" у тебя не должно отсекаться значительное
кол-во данных. Ну, скажем, не более половины.
Основная селективность запроса должна достигаться за счёт других критериев
поиска. Поэтому просто профильтровать уже готовый набор данных, который должен
быть небольшим, по правам пользователя -- вовсе недолго.

Да, под "приложением" тут понимается мною, естественно, средний слой,
не клиент.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37691588
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Видел отличное решение этой проблемы в системах, где используется Windows
> авторизация, с помощью функции SUSER_NAME() определяется пользователь и
> представления получаются уже отфильтрованными для определённого пользователя.

Кто тебе мешает сделать то же самое ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37691706
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корниенко Василий Фильтровать данные для каждого пользователя на уровне приложения не вариант, т.к. сильно теряется производительность. Расскажите как вы фильтруете.
Имеется ли в виду решение влоб
Код: sql
1.
select my_fields from my_view where (my_filter) and belong_to_user=@user
...
Рейтинг: 0 / 0
Проблема с пользователями
    #37692760
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корниенко ВасилийМаксим Н,

Всё так и происходит, данные выводятся через представления, но в представлении нельзя использовать переменные.
Видел отличное решение этой проблемы в системах, где используется Windows авторизация, с помощью функции SUSER_NAME() определяется пользователь и представления получаются уже отфильтрованными для определённого пользователя.
Можно в представления вшить инфорацию о пользователях и на клиента формировать запроса вида:
Код: plsql
1.
select * from my_view where user_name=%user_name%
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема с пользователями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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