Filter来控制权限
来源:互联网 发布:网络交友的坏处 编辑:程序博客网 时间:2024/05/16 05:24
文章出自:http://neil-jh.javaeye.com/blog/191341
目前很多项目对权限的控制一般普遍使用Acgi来控制权限。这里对老技术做一个回顾,曾经使用过Filter来控制权限,如果对Filter不是很熟悉的朋友,可以简单看下,也许多少会有些帮助。
public class PopedomFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
String contextPath = httpServletRequest.getContextPath(); //取得项目当前根目录 例如:/project String currentPath = httpServletRequest.getRequestURI(); //取得当前要访问的页面目录 /project/admin/xxx.action
if (!checkUserPopedom(httpServletRequest, httpServletResponse, contextPath, currentPath)) { //检查当前访问的路径是否包含在此用户的权限列表中,如果不存在return出去,不进行下一步的调用 return; }
filterChain.doFilter(servletRequest, servletResponse);
}
private boolean checkUserPopedom(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String contextPath, String currentPath) throws IOException { User user = (User) httpServletRequest.getSession(true).getAttribute("user");
if (user == null) { httpServletResponse.sendRedirect(contextPath + "/"); return false; } else { if (!checkPopedom(user, contextPath, currentPath)) { httpServletResponse.sendRedirect(contextPath + "/"); return false; } }
return true; }
private boolean checkPopedom(User user, String contextPath, String currentPath) { if (user.getSystemResourceList() != null) { for (SystemResource resource : user.getSystemResourceList()) { String url = contextPath + resource.getActionUrl().trim(); if (url.equals(currentPath)) { return true; } } } return false; }
public void destroy() { }}
在web.xml 中需要对这个Filter进行配置如下
<filter> <filter-name>PopedomFilter </filter-name> <filter-class>...filter.RightFilter</filter-class> </filter>
<filter-mapping> <filter-name>PopedomFilter </filter-name> <url-pattern>*.action</url-pattern>
</filter-mapping>
- Filter来控制权限
- 使用Filter来进行权限的控制
- 1.权限控制:Filter
- filter实现权限控制
- Filter实现权限控制
- 权限控制filter
- 2.权限控制:Filter配置文件
- Filter过滤器实现权限控制
- Filter过滤器实现权限控制
- Filter对权限和session的控制。
- 使用Filter控制用户登录权限
- 利用filter()过滤器进行访问权限控制
- 权限控制--自定义filter过滤URL
- 用SERVLET过滤来实现权限控制
- 用SERVLET过滤来实现权限控制
- 用SERVLET过滤来实现权限控制
- 用SERVLET过滤来实现权限控制
- 通过过滤器Filter来完成url访问权限限制
- Photoshop制作倒影字
- 信安易使用教程
- 数组元素求和,指针和引用的应用,共四种方法
- iptables 指令详解。
- jar命令的使用
- Filter来控制权限
- mount命令详解。
- 玩转keybd_event
- 一个开始
- Linux服务器性能数据收集—Sysstat介绍。
- 绚丽多彩Photoshop打造水中倒影
- ftp方式安装linux
- linux 开机启动脚本顺序。
- mysql 杂项