adminfilter.java

来自「使用WebLogic Platform构建音乐站点」· Java 代码 · 共 41 行

JAVA
41
字号
package music.web;

import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * check if the user is in role "admin"
 */

public final class AdminFilter 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(request instanceof HttpServletRequest) {
            HttpServletRequest req = (HttpServletRequest)request;
            AccountManageBD bd = (AccountManageBD)req.getSession().getAttribute(AccountManageBD.ACCOUNT);
            if(!bd.isAdmin()) {
                String uri = req.getRequestURI();
                System.out.println("URI = " + uri);
                ((HttpServletResponse)response).sendRedirect(req.getContextPath() + "/login/LoginController.jpf");
                return;
            }
            chain.doFilter(request, response);
        }
    }

}

⌨️ 快捷键说明

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