📄 loginfilter.java
字号:
package com.whatratimes.edu.webedu;
/**
* User: Tao
* Date: Jun 22, 2003
* Time: 4:49:28 PM
*/
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public final class LoginFilter implements Filter
{
private FilterConfig filterConfig = null;
public void init(FilterConfig filterConfig) throws ServletException
{
this.filterConfig = filterConfig;
}
public void destroy()
{
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException
{
if (filterConfig == null)
return;
HttpServletRequest r = (HttpServletRequest) request;
String p = r.getRequestURI();
String c = r.getContextPath();
if (p != null)
{
StringBuffer path = new StringBuffer(p);
// path.deleteCharAt(0);
// int i = path.indexOf("/");
path.delete(0, c.length() + 1);
HttpSession session = r.getSession();
boolean failed = false;
if (path.indexOf("Students") == 0)
{
if (session.getAttribute("User") == null)
{
failed = true;
}
} else if (path.indexOf("Teacher") == 0)
{
if (session.getAttribute("Teacher") == null)
{
failed = true;
}
} else if (path.indexOf("CourseDev") == 0)
{
if (session.getAttribute("CourseDeveloper") == null)
{
failed = true;
}
} else if (path.indexOf("Administrator") == 0)
{
if (session.getAttribute("Administrator") == null)
{
failed = true;
}
}
if (failed)
{
HttpServletResponse res = (HttpServletResponse) response;
// System.out.println ( "UnAuthorized : " + p + " redirected to :" + r.getContextPath() );
res.sendRedirect(r.getContextPath() + "/relogin.html");
// res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
}
chain.doFilter(request, response);
}
public String toString()
{
if (filterConfig == null)
return ("LoginFilter()");
StringBuffer sb = new StringBuffer("LoginFilter(");
sb.append(filterConfig);
sb.append(")");
return (sb.toString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -