对未登录用户进行判断

1.在servlet中判断

@RequestMapping(value={"/","/system/index","/common/login"},method=RequestMethod.GET)

public ModelAndView toIndex() throws DaoException {

if (getSessionAttribute(Constant.SESSION_USER) == null) {

return createSuccessModelAndView("public/login", null);

}

setSessionAttribute(Constant.SESSION_MENU, getHeaderInfo());

SysAdmin admin = getSessionUser();

return createSuccessModelAndView("platform/platform-index",optionUtil.getPlatformStatus());

}

2.使用过滤器判断

public class loginFilter implements Filter{

private String dispatchUrl = "";

private String excludeUrl = "";

@Override

public void destroy() {

}

@Override

public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)

throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest)arg0;

String servletPath = request.getServletPath();

HttpSession session = request.getSession();

String sessionKey = (String) session.getAttribute(Constant.SESSIONKEY);

/*就是登陆界面不进行过滤*/

if(servletPath.equals(dispatchUrl) || servletPath.equals(excludeUrl)){

arg2.doFilter(arg0, arg1);

}else{

if(!StringUtils.isEmpty(sessionKey)){

arg2.doFilter(arg0, arg1);

}else{

request.getRequestDispatcher(dispatchUrl).forward(arg0, arg1);

}

}

}

@Override

public void init(FilterConfig arg0) throws ServletException {

dispatchUrl = arg0.getInitParameter("dispatchUrl");

excludeUrl = arg0.getInitParameter("excludeUrl");

}

个人总结:不知道每种方式更适合哪些场景?

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值