LifeCenterInterCeptor.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.lemon.lifecenter.common;
  2. import java.io.IOException;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Component;
  9. import org.springframework.web.servlet.ModelAndView;
  10. import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
  11. @Component
  12. public class LifeCenterInterCeptor extends HandlerInterceptorAdapter {
  13. @Autowired
  14. private LifeCenterConfigVO config;
  15. private final Logger logger = LoggerFactory.getLogger(this.getClass());
  16. @Override
  17. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
  18. System.out.println("--------------------- InterCeptor Start --------------------- ");
  19. String url = request.getRequestURI().toString();
  20. String port = String.valueOf(request.getServerPort());
  21. Object session = request.getSession().getAttribute( "sesId" );
  22. Object groupIdx = request.getSession().getAttribute( "sesGroupIdx" );
  23. Object sesMId = request.getSession().getAttribute( "sesMId" );
  24. logger.info( "|------------------------------------------------------------------|" );
  25. logger.info( "| URL : " + url + " | IP : " + LifeCenterFunction.getRemoteAddr(request) + " | Port : " + port );
  26. logger.info( "|------------------------------------------------------------------|" );
  27. logger.info( " sesMobileId : " + sesMId + " sesWebId : " + session + " groupIdx : " + groupIdx );
  28. if ( url.contains( "/error" ) || url.contains( "/nonface/wait" ) ||
  29. url.contains( "/store" ) || url.contains( "/favicon.ico" ) || url.contains( "/mobile/getAppVersion" ) ) {
  30. return true;
  31. }
  32. if( url.contains( "/mobile" ) ) {
  33. if( !url.equals( "/mobile/login" ) && !url.equals( "/mobile/check" ) ) {
  34. if( sesMId == null ) {
  35. response.sendRedirect( "/mobile/login" );
  36. return false;
  37. } else {
  38. logger.info( "IP : " + LifeCenterFunction.getRemoteAddr( request ) + " ID : " + sesMId.toString() + " URL : " + url + " Port : " + port );
  39. }
  40. } else if( url.equals( "/mobile/login" ) ) {
  41. if( sesMId != null ) {
  42. response.sendRedirect( "/mobile/menu" );
  43. return false;
  44. }
  45. }
  46. } else {
  47. if( !url.equals( "/login/staff" ) && !url.equals( "/login/admin" ) && !url.equals( "/login/check" ) ) {
  48. if( session == null ) {
  49. response.sendRedirect( "/login/staff" );
  50. return false;
  51. } else {
  52. logger.info( "IP : " + LifeCenterFunction.getRemoteAddr( request ) + " ID : " + session.toString() + " URL : " + url + " Port : " + port );
  53. }
  54. } else if( url.equals( "/login/staff" ) || url.equals( "/login/admin" ) ) {
  55. if( session != null ) {
  56. if( groupIdx.equals( "1" ) ) {
  57. response.sendRedirect( "/center/list" );
  58. } else {
  59. response.sendRedirect( "/patient/list" );
  60. }
  61. return false;
  62. }
  63. }
  64. }
  65. return true;
  66. }
  67. @Override
  68. public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
  69. ModelAndView modelAndView) {
  70. //logger.info("Method Executed Time : postHandle");
  71. }
  72. @Override
  73. public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
  74. Exception ex) {
  75. //logger.info("Method Completed Time : afterCompletion");
  76. System.out.println("--------------------- InterCeptor afterCompletion ---------------------");
  77. }
  78. }