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

📄 loginfilter.java

📁 采用Eclispe开发平台
💻 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 + -