1. 程式人生 > >ApplicationContext特色功能詳解

ApplicationContext特色功能詳解

package com.cherrypicks.appsdollar.cms.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.cherrypicks.appsdollar.common.constant.Constants;
import com.cherrypicks.appsdollar.common.exception.InvalidUserSessionException;
import com.cherrypicks.appsdollar.service.cms.CmsUserSessionService;

public class ValidateSystemUserSessionInterceptor extends HandlerInterceptorAdapter {

	private final Log logger = LogFactory.getLog(this.getClass());

	@Autowired
	private CmsUserSessionService userSessionService;

	@Override
	public boolean preHandle(final HttpServletRequest request, final HttpServletResponse response, final Object handler)
			throws Exception {
		logger.debug("ValidateUserSessionInterceptor.preHandle run....");

		final String userIdStr = request.getParameter(Constants.USERID);
		final String sessionId = request.getParameter(Constants.SESSIONID);
		if (!StringUtils.isNotBlank(userIdStr) || !StringUtils.isNotBlank(sessionId)) {
			throw new InvalidUserSessionException(
					"Invalid user session. userId[" + userIdStr + "], sessionId[" + sessionId + "]");
		}

		final Long userId = Long.parseLong(userIdStr);

		// validate userId and sessionId
		if (!userSessionService.validateUserSession(userId, sessionId)) {
			throw new InvalidUserSessionException(
					"Invalid user session. userId[" + userId + "], sessionId[" + sessionId + "]");
		}

		return true;
	}

	public static void main(final String[] args) {
		final String i = "a";
		System.out.println(StringUtils.isNotBlank(i));
	}
}