티스토리 뷰
반응형
따로 란이 없어서 여기올린다..
세션처리하는부분중 상당히 쓸만한부분
간단히 해 보왔습니다....
실무에 사용하긴 무리가 있는지 없는지는 사이트 성격에 따라 다를것 같습니다.
급조한거라...이해해 주시고.. .필터 이용시 이렇게 할수 있다는 예 입니다.
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에서 이동 됨]
세션처리하는부분중 상당히 쓸만한부분
간단히 해 보왔습니다....
실무에 사용하긴 무리가 있는지 없는지는 사이트 성격에 따라 다를것 같습니다.
급조한거라...이해해 주시고.. .필터 이용시 이렇게 할수 있다는 예 입니다.
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에서 이동 됨]
반응형
'Programing' 카테고리의 다른 글
이클립스 실행 에러 Required java version:1.4.1.Available:1.3.1_01 (0) | 2007.08.29 |
---|---|
[oracle] 사용자 생성 (0) | 2007.08.29 |
ie패치 무력화 스크립트 (0) | 2007.08.29 |
JAVA PATH설정 (0) | 2007.08.29 |
Visual Studio 6.0 설치하신분들 (0) | 2007.08.29 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 설정
- select
- sql
- delete
- server
- eclipse
- 백업
- Windows
- MySQL
- user
- 윈도우
- 오라클
- Toad
- 서버
- mssql
- 리눅스
- 테이블
- java
- DATABASE
- IP
- Shell
- table
- Oracle
- 데이터
- tomcat
- 자동차
- Linux
- apache
- 파일
- DB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함