2012-04-03 4 views
0

내 프로젝트가 struts1.2에 있습니다. struts1.2에서 토큰 인터셉터 (struts2)를 구현할 수 있습니까? 내가이 resetToken(HttpServletRequest req) struts의 토큰 인터셉터 1.2

  1. saveToken(HttpServletRequest req)
  2. isTokenValid(HttpServletRequest req)
  3. 를 사용하여 구현 될 수있어하지만 행동 각자의 이상 추가 할 수 없습니다. 가없는 경우

    1) 봄 (추가 :

답변

2

나는 struts2하지만 struts1는 (그래서 각도에서 이러한 솔루션을 공격하는 struts1 사람이이 문제에 대해 훨씬 더 예뻐 솔루션이있을 수 있습니다) 알고 이미) ... AOP를 사용하여 메소드를 추가하십시오. [비용 : 새로운 기술을 배우는 것일 수도]

2) Struts1 매핑 .action 옆에 .action을 사용하여 struts2에 .do를 사용하여 struts1 ... struts2 패키지를 만듭니다. 와일드 카드로 액션을 포착하여 스트럿츠 1 액션으로 넘어갑니다. PS : 어떻게 할 수 있느냐고 묻는다면 ... 이것은 꽤 거리가 멀고 나는 이것을하지 않을 것입니다. [비용 : 매핑 논리를 복잡하게 함]

3) 모든 것을 struts2로 변환하고 토큰 인터셉터를 사용합니다. [비용 : 고속 투자]

4) 액션을 확장 할 새로운 기본 액션 클래스를 만들고 그 메소드를 구현합니다.

+0

감사의 말 Quaternion은 봄을 사용했기 때문에 첫 번째 해결 방법을 원합니다. – Vipul

0

Struts 2에서 TokenInterceptor를 사용하려면 tokenSession 인터셉터를 참조해야합니다.
특정 작업의 struts.xml에서 name = "invalid.token"에 의한 결과를 처리해야했습니다.
해당 페이지에서 동작이 생성 된 페이지입니다. 헤더에 s : token 태그가 포함되어 있습니다.

1

Struts 1에는 인터셉터가 없으므로 서블릿 필터를 사용할 수 있습니다. 그러나 모든 요청을 거부하지 않도록 HTTP GET 요청에서 토큰을 제어하지 않도록주의하십시오. POST 요청에 대한 모든 요청 isTokenValid() resetToken()에

Servlet Filters and Event Listeners

saveToken().