⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginfilter.java

📁 近几年来
💻 JAVA
字号:
package tarena.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMessage;

import tarena.pojo.Admin;
import tarena.pojo.Manager;
import tarena.pojo.Teacher;
import tarena.util.ContextUtil;

public class LoginFilter extends HttpServlet implements Filter {
	public void init(FilterConfig arg0) throws ServletException {
	}

	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException {
		HttpServletRequest request = ((HttpServletRequest) arg0);
		HttpServletResponse response = ((HttpServletResponse) arg1);
		Object o = request.getSession().getAttribute(ContextUtil.PERSON);
		String pathInfo = "/"+request.getServletPath().split("/")[1];
		ActionErrors errors = new ActionErrors();
		if (o != null) {
			if ((o instanceof Admin && (pathInfo
					.equals(ContextUtil.ADMIN_PATH_INTO) || pathInfo
					.equals(ContextUtil.POLL_PATH_INTO)))
					|| (o instanceof Teacher && (pathInfo
							.equals(ContextUtil.TEACHER_PATH_INTO) || pathInfo
							.equals(ContextUtil.POLL_PATH_INTO)))
					|| (o instanceof Manager && (pathInfo
							.equals(ContextUtil.MANAGER_PATH_INTO) || pathInfo
							.equals(ContextUtil.POLL_PATH_INTO))))
				arg2.doFilter(request, response);
			else {
				errors.add("warn.noright", new ActionMessage("warn.noright"));
				request.getSession().setAttribute("keys", errors);
				response.sendRedirect(request.getContextPath()
						+ ContextUtil.LOGIN_PATH);
			}
		} else {
			errors.add("warn.nologin", new ActionMessage("warn.nologin"));
			request.getSession().setAttribute("keys", errors);
			response.sendRedirect(request.getContextPath()
					+ ContextUtil.LOGIN_PATH);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -