画面にあるドロップダウンをログインユーザ毎に制御したいといわれた。
セッションにログインユーザ情報は持っているのでそれで何とかしろと。
BackingBeanで生成する分にはなにも問題ない。
でもそのドロップダウンはAjaxで動的にも変化する。
どう頑張ってもAjaxでセッション情報は取れない(別セッションだから当たり前)ので「無理です」と言ってみたけど、100以上もの画面はいまさら直せないとかなんとか。
どうやらdwrCookieは取得できるようなので、どんな手段を用いても良いという許可を得て実装してみた。

BackingBean側で事前にCookieに情報をセット

Cookie cookie = new Cookie("NAME", "value");
ExternalContext econtext = FacesContext.getCurrentInstance().getExternalContext();
HttpServletResponse hresponse = (HttpServletResponse)econtext.getResponse();
hresponse.addCookie(cookie);

AjaxからCookie情報を取得

HttpServletRequest hsrequest = WebContextFactory.get().getHttpServletRequest();
Cookie[] cookies = hsrequest.getCookies();
String value;
for (Cookie cookie : cookies) {
	if ("NAME".equals(cookie.getName())) {
		value = cookie.getValue();
		break;
	}
}