Package com.iisigroup.cap.mvc.action

Source Code of com.iisigroup.cap.mvc.action.PageAction

package com.iisigroup.cap.mvc.action;

import java.util.Locale;

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

import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.WebAttributes;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.iisigroup.cap.security.CapSecurityContext;
import com.iisigroup.cap.security.model.CapUserDetails;
import com.iisigroup.cap.utils.CapAppContext;

/**
* <pre>
* page action
* </pre>
*
* @since 2011-11-29
* @author mars
* @version <ul>
*          <li>2011-11-29,mars,new
*          <li>2013/3/8,RodesChen, add append userDetails
*          </ul>
*/
@Controller
@RequestMapping("/*")
public class PageAction extends BaseActionController {

  @RequestMapping("/error")
  public ModelAndView error(Locale locale, HttpServletRequest request,
      HttpServletResponse response) {
    String path = request.getPathInfo();
    ModelAndView model = new ModelAndView(path);
    HttpSession session = request.getSession(false);
    response.setStatus(HttpServletResponse.SC_OK);
    final AuthenticationException ae = (session != null) ? (AuthenticationException) session
        .getAttribute(WebAttributes.AUTHENTICATION_EXCEPTION) : null;
    String errmsg = "";
    if (ae != null) {
      errmsg = ae.getMessage();
    } else {
      AccessDeniedException accessDenied = (AccessDeniedException) request
          .getAttribute(WebAttributes.ACCESS_DENIED_403);
      if (accessDenied != null) {
        errmsg = CapAppContext.getMessage("AccessCheck.AccessDenied",
            locale) + errmsg;
      }
    }
    model.addObject("errorMessage", errmsg);
    return model;
  }

  @RequestMapping("/**")
  public ModelAndView handleRequestInternal(Locale locale,
      HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    String path = request.getPathInfo();
    ModelAndView model = new ModelAndView(path);
    CapUserDetails userDetails = CapSecurityContext.getUser();
    if (userDetails != null) {
      model.addObject("userDetails", userDetails);
    }
    return model;
  }
}
TOP

Related Classes of com.iisigroup.cap.mvc.action.PageAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.