2012-03-30 5 views
2

필터 안에 JSF2 세션 빈을 만들고 채우고 싶습니다. 사용 사례는 다음필터 안에 JSF2 세션 관리 Bean을 생성 할 수 있습니까?

  • 1) CAS
  • 2) CAS 서버를 사용하여 사용자 인증합니다 교장의 속성을 채우고 한 속성에 LDAP/AD에서 사용자 그룹이 (이 사용자가 인증 및 가를 포함하는 데 사용되는 주요
  • 4) 세션 빈에서 그룹 정보를 추출 할 때 정보는 필터 만이라고
  • 3) 사용자에 대한 액세스 부여)를 얻을 수 사용됩니다 기타 주요 속성 는
  • 5) 세션 빈은 이미 사용자에 대해 존재하는 경우, 아무것도 세션 콩이 존재하지 않는 경우, 그것이 있어야)
  • 6
  • 을 수행 할 수 없습니다 (및 기타 정보는 이러한 속성을 사용하여 DB에서 수집) ( 필자가 추측 하듯이) 필터를 생성하여
  • 7) 필터를 사용하면 사용자가 세션 빈의 모든 정보가 포함 된 웹 페이지에 액세스 할 수 있습니다.

그럴 수 있습니까? 세션 빈이 생성되면 http 세션에 속성으로 첨부되므로 필터에서 쉽게 액세스 할 수 있지만 세션 빈을 생성 할 수 있는지 여부는 알 수 없습니다. 필터.

답변

2

우리는 세션 빈을 수동으로 생성하지 않고 정확히 동일하게 (OpenID 인증) 수행했습니다. 필요한 모든 인증 토큰, ID, 역할 및 기타 항목을 단일 직렬화 가능 클래스 (UserAuthInfo)로 랩핑하고 인증 후 세션 맵에이 클래스의 인스턴스를 저장하는 것만으로 충분합니다. 나중에 일반 세션 빈에서 세션 맵에서이 객체의 존재를 확인하고 필요한 모든 데이터를 초기화하고 DB를 읽고 다른 작업을 수행하고 선택적으로 세션 맵에서 UserAuthInfo 인스턴스를 제거합니다.

+0

좋습니다. 감사합니다. 이 방법으로 필터 안의 managedBean을 처리 할 필요가 없습니다! – maxqua72

관련 문제