powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Изменение данных отображаемых в IR в зависимости от текущего пользователя
18 сообщений из 18, страница 1 из 1
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861586
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Столкнулся с задачей смены данных в IR в зависимости от того, какой пользователь залогинился.
Есть IR, построенный на вьюхе, вида:

ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ | СТРОКА

Возможно ли при загрузке страницы автоматически делать отбор вида:
WHERE ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ=:APP_USER
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861590
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKis,
проще и логичнее прошить имя в where всех вьюх сразу.
Чем мусорить во всех запросах на клиенте.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861594
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861601
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123DKis,
проще и логичнее прошить имя в where всех вьюх сразу.
Чем мусорить во всех запросах на клиенте.

У меня есть две роли: администраторы и операторы.
Пользователи, входящий в первую группу, должен видеть все записи.
Пользователи, входящие во вторую группу, должны видеть только те записи, авторами которых являются они.
Поэтому ваш вариант не подходит.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861602
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKisПользователи, входящий в первую группу, должен видеть все записи.
Пользователи, входящие во вторую группу, должны видеть только те записи, авторами которых являются они.
напишите это в виде WHERE
авторПоэтому ваш вариант не подходит.
с чего вдруг?
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861613
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Я немного не понимаю, каким образом это можно реализовать жестко вшив WHERE.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861627
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKis,

Ты же сам в первом топике написал решение, пока не понимаю, что еще нужно?
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861629
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKis,
DKisWHERE ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ=:APP_USER
во вьюхе
Код: sql
1.
where t.Login = :APP_USER


как-то так - псевдо-код
Приведите DDL.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861632
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123DKis,
DKisWHERE ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ=:APP_USER
во вьюхе
Код: sql
1.
where t.Login = :APP_USER


как-то так - псевдо-код
Приведите DDL.

Ну во воьюху, я бы е пихал Апексовые бинды.
При обращении к ней не из апекса она не будет работать.
А вот в приложении, самы раз такое условие.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861633
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKis,
у каждого юзверя своя сессия и свой логин-переменная во вьюхе
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861634
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelПри обращении к ней не из апекса она не будет работать
почему?
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861638
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelDKis,

Ты же сам в первом топике написал решение, пока не понимаю, что еще нужно?

Пользователи из первой группы не создают записи, но должны их просматривать.
Записи создаются только пользователями из второй группы.
Т.е. имеем IR вида:
ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ | СТРОКА
user1 | stroka1
user2 | stroka2
user1 | stroka3
user1 | stroka4
user3 | stroka5


Жестко задав на вьюхе условие
WHERE ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ=:APP_USER
пользователь admin из первой группы не увидит записей.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861646
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKisblkangelDKis,

Ты же сам в первом топике написал решение, пока не понимаю, что еще нужно?

Пользователи из первой группы не создают записи, но должны их просматривать.
Записи создаются только пользователями из второй группы.
Т.е. имеем IR вида:
ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ | СТРОКА
user1 | stroka1
user2 | stroka2
user1 | stroka3
user1 | stroka4
user3 | stroka5


Жестко задав на вьюхе условие
WHERE ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ=:APP_USER
пользователь admin из первой группы не увидит записей.

Это вопрос написания запроса :) А не апекса.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861656
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123blkangelПри обращении к ней не из апекса она не будет работать
почему?
Я не пробовал создавать вьюхи с биндами, НО какой от нее толк.
Зачем БД, нужен объект, который абсолютно бесполезен без приложения. Поэтому абсолютно логичным считаю, что объект в базе данных должен быть автономным и независимым от внешних факторов. А вот в приложении этому условию, самое место.
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861666
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,
ну, это просто - стандарт (RLS)
Ему тыща лет, и его используют в Оракле.
Я сам не люблю ограничивать по строкам. Лучше по колонкам.
Может потому, что не было параноиков-заказчиков).
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861783
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelDKisпропущено...


Пользователи из первой группы не создают записи, но должны их просматривать.
Записи создаются только пользователями из второй группы.
Т.е. имеем IR вида:
ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ | СТРОКА
user1 | stroka1
user2 | stroka2
user1 | stroka3
user1 | stroka4
user3 | stroka5


Жестко задав на вьюхе условие
WHERE ИМЯ ПОЛЬЗОВАТЕЛЯ СОЗДАВШЕГО СТРОКУ=:APP_USER
пользователь admin из первой группы не увидит записей.

Это вопрос написания запроса :) А не апекса.

А не могли бы подсказать мне, как должен выглядеть такой запрос?)
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861816
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKisblkangelпропущено...


Это вопрос написания запроса :) А не апекса.

А не могли бы подсказать мне, как должен выглядеть такой запрос?)

Я твоей структуры не знаю, но как то так.
Код: plsql
1.
2.
3.
select * from yuor_view
where create_task_user=v('APP_USER') 
or exists(select 1 from users where users_login=v('APP_USER')  and gpoup='SUPER_GROUP');
...
Рейтинг: 0 / 0
Изменение данных отображаемых в IR в зависимости от текущего пользователя
    #38861897
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelDKisпропущено...


А не могли бы подсказать мне, как должен выглядеть такой запрос?)

Я твоей структуры не знаю, но как то так.
Код: plsql
1.
2.
3.
select * from yuor_view
where create_task_user=v('APP_USER') 
or exists(select 1 from users where users_login=v('APP_USER')  and gpoup='SUPER_GROUP');



Спасибо большое за решение. Сам не догадался.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Изменение данных отображаемых в IR в зависимости от текущего пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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