JSF, Hibernate 및 CDI with Weld를 사용합니다. 내 응용 프로그램은 View (xhtml), Control (Request/Session/Scoped Beans보기), Model (Entities) 및 Business (BO의 Application scope bean으로 표시)로 나뉩니다.세션에서 로그인 한 사용자를 검색하고이를 비즈니스 계층으로 전달하는 방법은 무엇입니까?
Model과 비즈니스 레이어를 가능한 한 많이 뷰와 컨트롤에서 분리하려고합니다. 즉, 모든 xhtml + 컨트롤 bean을 변경하려면 비즈니스 레이어와 엔티티에 영향을 미치지 않고 가능합니다.
내 문제는 다음과 같습니다. 비즈니스 계층에서 로깅 된 사용자 (또는 적어도 자신의 프로필)를 알아야하는 많은 방법이 있습니다. 그 결과로 다시 돌아갈 결과에 영향을 미치기 때문입니다. 제어 층.
예 : 편집 할 사용자 목록을 요청할 때 관리자는 등록 된 모든 사용자와 함께 목록을 수신하고 관리자는 자신의 프로필 "아래"에있는 사용자 만 가진 목록을 받게됩니다.
비즈니스 개체에 세션 Bean (로그인 한 사용자 포함)을 삽입하고 싶지 않습니다. 연결을 야기 할 수 있기 때문입니다. 즉, 언제든지 내 Control/View 레이어를 변경할 수 없기 때문입니다).
요즘에는 기록 된 사용자를 내 BO의 메소드 매개 변수로 전달하지만 나에게 이는 잘못된 느낌을줍니다. Control 레이어는 로그인 한 사용자로 원하는 사람을 그냥 지나칠 수 있다고 생각하고 내 비즈니스 계층은 결코 알지 못합니다.
내 마지막 질문은 : 나는 그것을하고 있어요 방식에 문제가 아무것도
- 있습니까? 아니면 내가 너무 많이 생각하고 있니?
- 더 좋은 방법이 있나요?
매우 간단하고 우아한 해결책, 정말 고마워요. 그리고 JAAS에 대한 링크를 확실히 읽을 예정입니다. – RinaldoPJr