`
utt62utt
  • 浏览: 14888 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

学习jpetstore的SignonInterceptor类

 
阅读更多

学习jpetstore的SignonInterceptor类
2011年07月01日
   public class SignonInterceptor extends HandlerInterceptorAdapter { 
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) 
  throws Exception { 
  UserSession userSession = (UserSession) WebUtils.getSessionAttribute(request, "userSession"); 
  if (userSession == null) { 
  String url = request.getServletPath(); 
  String query = request.getQueryString(); 
  ModelAndView modelAndView = new ModelAndView("SignonForm"); 
  if (query != null) { 
  modelAndView.addObject("signonForwardAction", url+"?"+query); 
  } 
  else { 
  modelAndView.addObject("signonForwardAction", url); 
  } 
  throw new ModelAndViewDefiningException(modelAndView); 
  } 
  else { 
  return true; 
  } 
  } 
  } 
  通过WebUtils.getSessionAttribute(request, "userSession");得到session中的用户信息,if (userSession == null)为空则取得用户的url和query一起转到SignonForm页面 短短的几行代码就解决了简单的安全访问问题 防止用户不通过登录访问安全性较高的页面 同时保存用户请求的url信息 以便登录后直接跳到用户需要访问的url 
  
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics