2011-01-06 4 views
1

나는 Acegi Security를 ​​사용하는 레거시 자바 웹 애플리케이션을 가지고있다. jsp 페이지에서 모든 자바 scriplets 제거하려면 노력하고있어. 다음 식을 대체 할 수있는 이것은 Acegi 태그가 있습니까 :현재 로그인 한 ACEGI 태그 사용자 객체

SecurityContextHolder.getContext().getAuthentication() 

위의 표현식은 현재 사용자 개체에 기록 반환합니다. 예를 들어, "안녕하세요, Bob 님, 생일은 1980 년 1 월 1 일입니다"라는 JSP 페이지가있을 수 있습니다. 여기서 "Bob"이라는 이름과 생일은 Bob의 사용자 객체에서 추출됩니다.

참고 : Struts Action이 User 객체를 선언하고 위 코드의 값으로 초기화 할 수 있지만 JSP 페이지에서 현재 로그인 한 사용자에게 직접 액세스하는 것이 좋습니다.

답변

0

누락 된 태그가 포함 된 고유 한 taglib을 생성하지 않는 이유는 무엇입니까? 매우 쉽게 할 수 있으며 변경하려는 경우 (수퍼 유저가 로그인 할 때마다 로깅과 같이) 원하는 경우 모든 코드가 매우 좁은 지역에 현지화됩니다.

0

acegi에는 다소 기괴한 authentication 태그가 있습니다.

<authz:authentication operation="name"/> 

현재 주체에서 getName의 값을 출력합니다.

가장 유용한 것은 아니지만 자신 만의 버전을 구현하면 시작하는 것이 좋습니다.