티스토리 뷰

Programing

세션처리

애플자라 2007. 8. 29. 23:50
반응형
따로 란이 없어서 여기올린다..

세션처리하는부분중 상당히 쓸만한부분

간단히 해 보왔습니다....

실무에 사용하긴 무리가 있는지 없는지는 사이트 성격에 따라 다를것 같습니다.

급조한거라...이해해 주시고.. .필터 이용시 이렇게 할수 있다는 예 입니다.

 

1. web.xml 추가

    <filter>
        <filter-name>sessionFilter</filter-name>
        <filter-class>com.mycompany.filter.SessionFilter</filter-class>
    </filter>

.

.

.

    <filter-mapping>
        <filter-name>sessionFilter</filter-name>
        <url-pattern>/board/*</url-pattern>
    </filter-mapping>

 

2. SessionFilter.java

 

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
    throws IOException, ServletException {
    if (log.isDebugEnabled()) {
      log.debug(" SessionFilter  시작 합니다. ");
  }
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;
       
        Object siteLogin = request.getSession().getAttribute("SiteLogin");

        if (siteLogin == null) {
        if (log.isDebugEnabled()) {
          log.debug(" 인증값이 없습니다. ");
      }
        response.sendRedirect(request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/login_form.html"); // 이동할 페이지....
        }else{
        chain.doFilter(req, res);
        }

        if (log.isDebugEnabled()) {
      log.debug(" SessionFilter  종료 합니다. ");
  }     
    }

 

3. 실행 결과 debug

 

3.1 일반 페이지 - 예) http://localhost/test_filter/index.html

 

DEBUG - EncodingFilter.doFilter(32) |  EncodingFilter 사용 합니다.
DEBUG - MessageFilter.doFilter(23) |  MessageFilter  통과 합니다.
DEBUG - IndexController.handleRequest(27) |  IndexController 시작

 

3.2 인증 페이지 - 예) http://localhost/test_filter/board/board_admin.html

DEBUG - MessageFilter.doFilter(23) |  MessageFilter  통과 합니다.
DEBUG - SessionFilter.doFilter(23) |  SessionFilter  시작 합니다.
DEBUG - SessionFilter.doFilter(34) |  인증값이 없습니다.
DEBUG - SessionFilter.doFilter(49) |  SessionFilter  종료 합니다.

 

4. 결과

  결코 다른 인증 방법보다 성능이 뛰어나거나, 효과적이라 말할수 없습니다.

  다만 개인적으로 이런방법도 있을꺼라는 생각이 들었고, 가능할꺼란 생각에 한번 해 보았습니다.

  보시는 것처럼 구현하는 것도 간단 합니다.

  물론 실무에선 더 많은 조건들과 기능들이 있어야 될것으로 압니다.

  효과적이 아니라는 말은, 이것에 대해서 어떤 퍼포먼스 테스트나, 스트레스 테스트도 안했습니다.

 

5. 테스트한 환경

  Spring관련 환경(SpringMVC) ㅡㅡ;;

 

 

6. 추신

근데...

구현은 가능한데...

이런거 방법이 좋은건진...

고수님들의 조언이 필요한 시간이네요... ^^;;;

(좋다면 저도 실무에 적용해 보고 싶습니다. ㅡㅡ;; )
[이 게시물은 최고관리자님에 의해 2006-07-24 20:54:43 Linux에서 이동 됨]
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함