Я добавил тему Primefaces в файл web.xml...
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>le-frog</param-value>
</context-param>
... и получить ссылку на таблицу стилей в шапке...
<link type="text/css" rel="stylesheet" href="/pos2hue/javax.faces.resource/theme.css.jsf?ln=primefaces-le-frog" />
...что было бы правильно, если бы мы не использовали единый вход, который перенаправляет все URL-адреса без идентификатора сеанса на экран входа в систему. Итак, таблица стилей решает:
<HTML><HEAD><TITLE>HTTP Post Binding (Request)</TITLE></HEAD><BODY Onload="document.forms[0].submit()"><FORM METHOD="POST" ACTION="https://configured.identity.url"><INPUT TYPE="HIDDEN" NAME="SAMLRequest" VALUE="..."/></FORM></BODY></HTML>
Другие ссылки, исходящие от простых лиц, допустимы, например:
<script type="text/javascript" src="/contextroot/javax.faces.resource/jsf.js.jsf;jsessionid=eo0Oo0oK37AUm7bNOaFqdrB-?ln=javax.faces"></script>
В качестве дополнительной информации я должен добавить:
- режим сеанса в web.xml установлен на «URL» (я не хочу это менять)
<session-config>
<tracking-mode>URL</tracking-mode>
</session-config>
- для единого входа мы используем picketlink (у меня есть picketlink.xml в папке WEB-INF)
- веб-сервер JBoss EAP 6.1
Любые идеи, как я мог
- заставить Primefaces добавить идентификатор сеанса в таблицу стилей href?
- сделать исключение из механизма единого входа?
- или заставить его работать иначе?
Добавление таблицы стилей напрямую возможно, но нежелательно, потому что мы используем шаблон JSF2 для всех приложений, но я хочу настроить его только для одного приложения. Заранее спасибо!