各位达人好:
请问我如何在tomcat中配置 某个应用只运行内网访问。 或者:如何配置应用中的某个目录只允许内网访问。 偶是一菜鸟。请各位达人帮忙。谢谢谢谢!!
请问我如何在tomcat中配置 某个应用只运行内网访问。 或者:如何配置应用中的某个目录只允许内网访问。 偶是一菜鸟。请各位达人帮忙。谢谢谢谢!!
解决方案 »
- html问题 高手们请进
- response.sendRedirect好像不能改变地址栏
- 在线等!给看下
- 一个很奇怪的问题!!
- 初学者请教问题之十六:表示当月,当天时间代码怎么写?
- 如何把用 WebSphere 开发的 Web 应用程序移植到 WebLogic 上 ?
- 诡异!!Servlet.init()到底怎么了?紧急项目受阻,向大家求救了!!
- java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Error establishing socket.
- 怎样处理数据库中的中文数据??
- 服务器是IBM hs21 用的TOMCAT 每天IP3000 pvs10000+ 两天瘫痪一次
- 那位仁兄做过建行,农行等银行的在线支付,请帮个忙
- 如何获取某个日期所在当年全年的第几周??
package filter;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import domain.Admin;
import domain.Governor;
import domain.Staff;
/**
* 用过滤器控制用户的访问权限
* @author 何博
*
*/
public class RightsFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest sreq, ServletResponse sres,
FilterChain chain) throws IOException, ServletException {
// 获取uri地址
HttpServletRequest request = (HttpServletRequest) sreq;
HttpServletResponse response = (HttpServletResponse)sres; // 获取请求的uri,如“/cattsoft/jsp/admin/admin.jsp”
String uri = request.getRequestURI();
String ctx = request.getContextPath();
uri = uri.substring(ctx.length());
System.out.println("uri=="+uri); // 判断admin(系统管理员)前面是Action请求,后面是页面
if (uri.startsWith("/admin.do") || uri.startsWith("/jsp/admin/")) {
Admin admin = (Admin) request.getSession().getAttribute("admin");
if (admin == null) {
request.setAttribute("message", "对不起,您没有该权限");
request.getRequestDispatcher("/jsp/login.jsp").forward(sreq,sres);
return;
}
} // 判断governor(主管)
if (uri.startsWith("/governor.do") || uri.startsWith("/jsp/governor/")) {
Governor governor = (Governor) request.getSession().getAttribute("governor");
if (governor == null) {
request.setAttribute("message", "对不起,您没有该权限");
request.getRequestDispatcher("/jsp/login.jsp").forward(sreq,sres);
return;
}
}
// 判断staff(员工)
if (uri.startsWith("/staff.do") || uri.startsWith("/jsp/staff/")) {
Staff staff = (Staff) request.getSession().getAttribute("staff");
if (staff == null) {
request.setAttribute("message", "对不起,您没有该权限");
request.getRequestDispatcher("/jsp/login.jsp").forward(sreq,sres);
return;
}
}
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
}}
//////////////////////////////////////////////////////////////////
//web.xml里的配置
<filter>
<filter-name>RightsFilter</filter-name>
<filter-class>filter.RightsFilter</filter-class>
</filter>
//对请求admin文件夹下面的jsp页面进行过滤
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/jsp/admin/*</url-pattern>
</filter-mapping>
//对请求governor文件夹下面的jsp页面进行过滤
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/jsp/governor/*</url-pattern>
</filter-mapping>
//对请求staff文件夹下面的jsp页面进行过滤
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/jsp/staff/*</url-pattern>
</filter-mapping>
//对请求admin.do进行过滤。例如:admin.do?method=list1
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/admin.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/governor.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/staff.do</url-pattern>
</filter-mapping>
网上找的,没细看看,你自己看看,网上查查就会做了,很简单的