authoritytag.java

来自「java网上考试系统」· Java 代码 · 共 49 行

JAVA
49
字号
package com.qrsx.exam.web.taglib;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.qrsx.exam.Constants;

/**
 * 用户权限校验的标签
 * 
 * @jsp.tag name="authority" body-content="empty"
 * 
 * @author galaxy
 * 
 */
public class AuthorityTag extends TagSupport {
    protected final Log log = LogFactory.getLog(getClass());

    public int doEndTag() throws JspException {
        // 得到用户请求对象
        HttpServletRequest request = (HttpServletRequest) pageContext
                .getRequest();
        Boolean checked = (Boolean) request
                .getAttribute(Constants.REQUEST_CHECK_FLAG);

        // 判断是否已经进行了权限校验
        if (checked != null && checked.booleanValue())
            return EVAL_PAGE;

        // 对于没有通过权限校验的访问,返回到登录页面
        HttpServletResponse response = (HttpServletResponse) pageContext
                .getResponse();
        try {
            response.sendRedirect(request.getContextPath() + "/logon.jsp");
        } catch (IOException ex) {
            throw new JspException(ex);
        }
        return SKIP_PAGE;
    }

}

⌨️ 快捷键说明

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