星空网 > 软件开发 > Java

登录拦截功能

1 在web.

<!-- 登录拦截 --> <filter>    <display-name>LoginFilter</display-name>    <filter-name>LoginFilter</filter-name>    <filter-class>com.xxx.common.LoginFilter</filter-class> </filter> <filter-mapping>    <filter-name>LoginFilter</filter-name>    <url-pattern>/*</url-pattern> </filter-mapping>

2.**类(登录,注册,静态文件.js.css等不进行过滤,放过去)

package com.xxx.common;import java.io.IOException;import java.io.Writer;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONObject;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.stereotype.Component;import org.springframework.web.context.support.WebApplicationContextUtils;import com.xxx.entity.User;import com.xxx.service.LoginService;import com.xxx.util.CommonUtil;public class LoginFilter implements Filter {  private LoginService loginService;  public LoginService getLoginService() {    return loginService;  }  public void setLoginService(LoginService loginService) {    this.loginService = loginService;  }  public LoginFilter() {  }  /**   * 初始化   */  public void init(FilterConfig config) throws ServletException {    ServletContext context = config.getServletContext();    ApplicationContext ctx = WebApplicationContextUtils        .getWebApplicationContext(context);    loginService = (LoginService) ctx.getBean(LoginService.class);  }  public void destroy() {    loginService = null;  }  /**   * 登录拦截   */  public void doFilter(ServletRequest req, ServletResponse res,      FilterChain chain) throws IOException, ServletException {    HttpServletRequest httpRequest = (HttpServletRequest) req;    HttpServletResponse httpResponse = (HttpServletResponse) res;    String path = CommonUtil.getRequestURL(httpRequest);        if (path.indexOf("/tologin") != -1 || path.indexOf("/login") != -1        || path.indexOf("/include") != -1) {      chain.doFilter(req, res);    } else {      User user = loginService.getCurrentUser();      if (user == null) {        boolean isAjaxRequest = isAjaxRequest(httpRequest);        if (isAjaxRequest) {          httpResponse.setCharacterEncoding("UTF-8");          Writer out = httpResponse.getWriter();          JSONObject jsonObj = new JSONObject();          jsonObj.put("success", false);          jsonObj.put("code", "noLogin");          jsonObj.put("message", "请您先登录系统!");          out.write(jsonObj.toString());          out.flush();          out.close();        } else {          httpResponse.sendRedirect("/项目路径/Login/tologin");        }      } else {        chain.doFilter(req, res);      }    }  }  /**   * 判断是否为Ajax请求   *   * @param request   *      HttpServletRequest   * @return 是true, 否false   */  public static boolean isAjaxRequest(HttpServletRequest request) {    String requestType = request.getHeader("X-Requested-With");    return requestType != null && ".equals(requestType);  }}




原标题:登录拦截功能

关键词:登录

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

KK馆_O2O全品类电商平台:https://www.ikjzd.com/w/1713
VisualHunt_图片工具:https://www.ikjzd.com/w/1714
Venngage_图表工具:https://www.ikjzd.com/w/1715
丰趣海淘:https://www.ikjzd.com/w/1716
寺库网:https://www.ikjzd.com/w/1717
荟网:https://www.ikjzd.com/w/1718
TikTok 将推出先买后付服务 :https://www.kjdsnews.com/a/1836651.html
TikTok 将推出先买后付服务 :https://www.goluckyvip.com/news/188219.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流