过滤器只允许有权限用户访问jsp
2014-08-07 12:17
281 查看
1、过滤器
注意:httpServletRequest.getRequestURI() 是 httpServletRequest.getRequestURI()。
不要在isSellerExcludePages加上|| !requestURI.contains("seller.jsp"),看上去是对包含seller.jsp进行拦截,但是如果不包含它的则都会通过了
web.xml配置
(1) 扩展匹配
(2)路径匹配:/seller/*,但是不要混搭/*.jsp
Done!
package com.life.struts.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SellerLoginFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { // TODO Auto-generated method stub //取session HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse; System.out.println("seller过滤器"+httpServletRequest.getRequestURI()); String seller = (String) httpServletRequest.getSession(true) .getAttribute("seller"); if (!isSellerExcludePages(httpServletRequest.getRequestURI())) { System.out.println("哈哈"); if (seller == null) { System.out.println("呵呵"); httpServletResponse.sendRedirect(httpServletRequest .getContextPath() + "/seller/login.jsp"); return; } } filterChain.doFilter(servletRequest, servletResponse); } private boolean isSellerExcludePages(String requestURI) { // TODO Auto-generated method stub return requestURI.indexOf("logout.") != -1 || requestURI.indexOf("login.") != -1 || requestURI.indexOf("action.") != -1 || requestURI.endsWith(".css") || requestURI.endsWith(".js") || requestURI.endsWith(".gif") || requestURI.endsWith(".jpg") || requestURI.endsWith(".png"); } @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } @Override public void destroy() { // TODO Auto-generated method stub } }
注意:httpServletRequest.getRequestURI() 是 httpServletRequest.getRequestURI()。
不要在isSellerExcludePages加上|| !requestURI.contains("seller.jsp"),看上去是对包含seller.jsp进行拦截,但是如果不包含它的则都会通过了
web.xml配置
(1) 扩展匹配
<filter> <filter-name>LoginFilter</filter-name> <filter-class>com.life.struts.filter.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>
(2)路径匹配:/seller/*,但是不要混搭/*.jsp
Done!
相关文章推荐
- 利用过滤器判断用户访问权限
- Struts2的拦截器只允许有权限用户访问action
- 过滤器用来拦截用户是否登录访问权限的问题(通过session来进行拦截)
- linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
- 用户的访问权限过滤器,防止用户直接输入URL直接访问资源。
- 过滤器实现对未登录用户访问JSP页面,进行控制。
- centos 7开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
- linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
- 用户的访问权限过滤器,防止用户直接输入URL直接访问资源。
- servlet+jsp实现过滤器 防止用户未登录访问
- 设置IAM用户权限允许访问特定S3的bucket或者目录
- Ubuntu 16.04 设置允许root用户MySQL远程访问权限
- 大唐任务管理系统--用过滤器控制用户访问权限
- jsp写的页面,内网访问没有问题,外网访问用户访问权限出现问题
- 不允许直接访问jsp处理方式一过滤器
- Ubuntu系统中MySQL服务器搭建,用户设置权限,以及允许网络访问
- 用户的访问权限过滤器,防止用户直接输入URL直接访问资源。
- java中如何用过滤器来拦截用户不允许访问的网页(通过地址栏来进行拦截)
- Servlet学习三:不允许直接访问jsp处理方式一过滤器
- servlet+jsp实现过滤器,防止用户未登录访问