大唐任务管理系统--用过滤器控制用户访问权限
来源:互联网 发布:swoole windows 编辑:程序博客网 时间:2024/04/25 01:39
//java代码
package filter;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.*;
import javax.servlet.http.*;
import domain.Admin;
import domain.Governor;
import domain.Staff;
/**
* 用过滤器控制用户的访问权限
* @author 何博
*
*/
public class RightsFilter implements Filter {
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;
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>
<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>
<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>
<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>
<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>/admin.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/governor.do</url-pattern>
</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>
<filter-name>RightsFilter</filter-name>
<url-pattern>/staff.do</url-pattern>
</filter-mapping>
总结:当然这种方法有一定的局限性,如果想要分配某个角色的具体权限(增,删,该,查),就比较麻烦了。比如下一个项目里面要用得到的,鄙人正在研究中。但是对于非法访问页面很方便的。期待大家的意见!
- 大唐任务管理系统--用过滤器控制用户访问权限
- java 使用过滤器控制用户访问权限
- 防止用户直接访问url的权限控制(使用过滤器)
- mysql的用户管理和权限管理(访问控制)
- 权限系统--用户管理
- 简介:控制用户访问权限
- 利用filter()过滤器进行访问权限控制
- 利用过滤器判断用户访问权限
- 过滤器——拦截用户访问权限
- jQueryUI+jqGrid实现后台管理系统,包括权限管理,用户管理,任务管理
- 控制用户访问--用户和权限
- MySQL知识(二十一)——用户管理之权限管理、访问控制
- Linux 权限管理控制 + 用户管理
- MySQL访问权限系统和访问控制
- AXIS2访问权限控制利用TOMCAT用户
- SQLServer控制用户访问权限表
- SQLServer控制用户访问权限表
- SQLServer控制用户访问权限表
- 新的起点,新的开始
- 创建对象初始化 (new)
- openGL学习 第一步 创建窗体
- VM网络连接三种模式
- (2)ARM7TDMI-S内核的调试结构
- 大唐任务管理系统--用过滤器控制用户访问权限
- USE CASE 分类
- 萝卜炖牛腩
- Java学习从入门到精通
- 值栈和OGNL
- 图形显示问题
- package cyber.config;
- 开心
- pku 3278 Catch That Cow(广搜)