Я не знаю SAML , но - что касается SSO в Apex, вот как это сделать. Посмотрите, поможет ли это.
Предположим, что есть приложение, которое используется в качестве "меню", которое позволяет вам перемещаться по различным приложениям Apex. В этом приложении меню перейдите на
Shared Components
> Authentication Schemes
> choose Current scheme (e.g. "My menu auth. Scheme")
> Session Cookie Attributes > type MY_MENU_COOKIE into „Cookie name“ field
Если меню приложения является элементом списка, его запрос может выглядеть следующим образом: он выбирает все приложения, доступные пользователю, вошедшему в систему как :APP_USER
(эти пары пользователь: приложения хранятся в таблице oper_x_app
). Обратите внимание на &SESSION.
- без него не получится:
select
null,
app_name labelValue,
'http://szg01lcp1.data.centar:8084/apex/f?p=' || id_app ||':1:&SESSION.' targetValue,
null is_current -- ^^^^^^^^^
from applications -- This!
where id_app in (select id_app from oper_x_app
where username = :APP_USER
)
order by app_name
Теперь для всех этих приложений вы должны сделать то же самое: перейти к
Shared Components
> Authentication Schemes
> choose Current scheme (e.g. "Copy of My menu auth. Scheme")
> Session Cookie Attributes
> type MY_MENU_COOKIE into „Cookie name“ field
Перейти к этому приложению
Navigation menu
> Create list entry
- name the entry "My apex menu"
- target type URL should look like this; &SESSION. is again important!
http://your_server:8084/apex/f?p=118:1:&SESSION.
^^^^^^^^^
This!
Вот и все; используя пункт меню навигации «My apex menu», вы можете перейти к центральному месту ваших приложений и переключаться между ними без необходимости повторного входа в систему.