powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
17 сообщений из 17, страница 1 из 1
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660610
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользователи должны видеть только некоторые строки, а кто то все.
Захожу под схемой еуые, и создал несколько пользователей parker, john...... Написал:

DBMS_RLS.ADD_POLICY (
object_schema => 'TEST',
object_name => 'ORDER_TABLE',
policy_name => 'TESTAPP_POLICY',
function_schema => 'TEST',
policy_function => 'my_security_function',
statement_types => 'SELECT,UPDATE,INSERT,DELETE',
update_check => TRUE,
enable => TRUE,
static_policy => FALSE);

Таблица ORDER_TABLE большая и несколько полей. Дальше пишу функцию:

create or replace function my_security_function( p_schema in varchar2,

p_object in varchar2 ) return varchar2
as
begin
if ( user = 'parker' ) then --здесь parker пользователь
return 'branch = 081'; --branch имя поле
else
return 'branch = 061';
end if;
end;

А когда захожу под parker' ом в страницу мне показывает, только где branch = 061. Даже под любым пользователем.
Что делать когда захожу под parker' ом показывали только branch = 061? Помогите пожалуйста
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660616
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте, работаю на APEX. Создал таблицу, и некоторые пользователи должны видеть только некоторые строки, а кто то все.
Захожу под схемой test, и создал несколько пользователей parker, john...... Написал:

DBMS_RLS.ADD_POLICY (
object_schema => 'TEST',
object_name => 'ORDER_TABLE',
policy_name => 'TESTAPP_POLICY',
function_schema => 'TEST',
policy_function => 'my_security_function',
statement_types => 'SELECT,UPDATE,INSERT,DELETE',
update_check => TRUE,
enable => TRUE,
static_policy => FALSE);

Таблица ORDER_TABLE большая и несколько полей. Дальше пишу функцию:

create or replace function my_security_function( p_schema in varchar2,

p_object in varchar2 ) return varchar2
as
begin
if ( user = 'parker' ) then --здесь parker пользователь
return 'branch = 081'; --branch имя поле
else
return 'branch = 061';
end if;
end;

А когда захожу под parker' ом в страницу мне показывает, только где branch = 061. Даже под любым пользователем.
Что делать когда захожу под parker' ом показывали только branch = 081? Помогите пожалуйста
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660634
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка здесь
СанжарТаблица ORDER_TABLE большая и несколько полей. Дальше пишу функцию:

create or replace function my_security_function( p_schema in varchar2,

p_object in varchar2 ) return varchar2
as
begin
if ( user = 'parker' ) then --здесь parker пользователь
return 'branch = 081'; --branch имя поле
else
return 'branch = 061';
end if;
end;

RTFM Understanding Substitution Strings
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660672
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,
Сейчас временно перестал работать сервер, ни от того что я писал политику. И еще, вместо user можно писать :app_user?
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660691
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас временно перестал работать сервер, ни от того что я писал политику? И еще, вместо user можно писать :app_user?
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660717
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Эти функции возращают совершенно разное.
Вот здесь хорошо написано
Public User
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660745
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

можете переписать тело функции, где я писал = 'parker'. Просто я новичок в apex. Пожалуйста.
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660780
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevОшибка здесь
СанжарТаблица ORDER_TABLE большая и несколько полей. Дальше пишу функцию:

create or replace function my_security_function( p_schema in varchar2,

p_object in varchar2 ) return varchar2
as
begin
if ( user = 'parker' ) then --здесь parker пользователь
return 'branch = 081'; --branch имя поле
else
return 'branch = 061';
end if;
end;

RTFM Understanding Substitution Strings

Подскажите пожалуйста, что именно должен писать вместо user?
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660794
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Это неоправдание.

Апекс коннектится только под пользователем, указанным (разблокированным) при установке, что, собственно, user и будет возвращать. Чтобы получить пользователя, прошедшего апексную аутентификацию, у апекса есть свои функции (см ссылки).

И английскую документацию читать! Обязательно!
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660800
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Спасибо, пошел читать
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660847
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пишу так:
if ( V('APP_USER') = 'parker' ) then
return 'branch = 081';
else
return 'branch = 051';
end if;

но результат не меняется, показывает 051
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660856
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Проверьте регистр
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37660859
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо SvDev, надо было писать PARKER, а не parker
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37661034
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, работает, а то 4 дня капал, есть что то похвастатся перед начальством. И еще если ссылки знаете по инициализация значений по умолчанию подкиньте пожалуйста.
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37661510
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СанжарСпасибо, работает, а то 4 дня капал, есть что то похвастатся перед начальством.
Я так скажу, FGAC хорошая штука, сами используем, но универсального решения и она не даёт, т.к. интерфейс тоже часто от прав должен меняться. Тут может отчасти помочь authorization schemas
СанжарИ еще если ссылки знаете по инициализация значений по умолчанию подкиньте пожалуйста.
Не понятно про что речь. Слишком много что и где может инициализироваться. Про APP_USER во второй ссылке есть.
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37662224
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevСанжарИ еще если ссылки знаете по инициализация значений по умолчанию подкиньте пожалуйста.
Не понятно про что речь. Слишком много что и где может инициализироваться. Про APP_USER во второй ссылке есть.

Хотел сказать, вот я распределил по ID, и каждый видит только те строки отчета которые соответствует по ID, и дальше хотел сделать, когда они создают новую строку (т.е. когда нажимают кнопку create, появляется новая страница, а там форма) в поле ID по умолчанию появился свой ID каждого пользователья. Уже сделал число, год и имя пользователя, а вот свой ID не получается.
...
Рейтинг: 0 / 0
Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
    #37662507
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Для этого есть опции Reset Page в ссылках, source и defaults в item's, для сложных случаев computations и processes. Search.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Всем здравствуйте, работаю на APEX. И должен создать таблицу, которые некоторые пользовате
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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