📄 urlfilter.java
字号:
package com.seavision.PermissionManage.help;
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import com.seavision.PermissionManage.components.FunctionManage;
import com.seavision.PermissionManage.components.URLManage;
import com.seavision.PermissionManage.vo.UserLoginVO;
public class UrlFilter implements Filter {
private String[] adminLogin = null;
private String welcomAdminLogin;
private String message;
public void init(FilterConfig filterConfig) throws ServletException {
welcomAdminLogin = filterConfig.getInitParameter("welcomAdminLogin");
message = filterConfig.getInitParameter("message");
if (welcomAdminLogin != null && welcomAdminLogin.trim().length() > 0) {
adminLogin = welcomAdminLogin.split(",");
}
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
String requestUrl = ((HttpServletRequest) request).getRequestURI();
URLManage urlManage = new URLManage();
requestUrl = urlManage.url(requestUrl);
UserLoginVO userLoginVO = new UserLoginVO();
Vector function = null;
// Vector allFunction = null;
List allFunction = null;
// List list = null;
String fun = null;
RequestDispatcher dispatcher = request.getRequestDispatcher(message);
userLoginVO = (UserLoginVO) ((HttpServletRequest) (request)).getSession().getAttribute("userLoginVO");
FunctionManage functionManage = DaoFectory.getFunctionManage();
allFunction = functionManage.getFunctionURL();
if (userLoginVO != null) {
function = userLoginVO.getUserFunction();
for (int i = 0; i < function.size(); i++) {
fun = (String) function.get(i);
if (requestUrl.trim().equals(fun)) {
chain.doFilter(request, response);
return;
}
}
for (int i = 0; i < allFunction.size(); i++) {
fun = (String) allFunction.get(i);
if (requestUrl.trim().equals(fun)) {
dispatcher.forward(request, response);
return;
}
}
chain.doFilter(request, response);
} else {
for(int i = 0; i < adminLogin.length; i ++){
if (requestUrl.equals(adminLogin[i])) {
chain.doFilter(request, response);
return;
}
}
for (int i = 0; i < allFunction.size(); i++) {
fun = (String) allFunction.get(i);
if (requestUrl.trim().equals(fun)) {
dispatcher.forward(request, response);
return;
}
}
chain.doFilter(request, response);
}
}
public void destroy() {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -