web中定义过滤器验证登录(未登录没有权限访问页面)
来源:互联网 发布:知乎有趣的女朋友 编辑:程序博客网 时间:2024/05/16 07:53
web中定义过滤器验证登录(未登录没有权限访问页面)
在进行web系统开发时,我们需要对用户的请求进行拦截,避免非法用户登录
配置字符集过滤器(Filter)
1、定义过滤器LoginFilter,实现Filter接口,并重新里面的init()、doFilter()和 destroy()方法
2、在doFilter()中判断用户是否登录系统了,只有合法登录后才能访问系统
分析: 首先分析session中是否有用户的信息,
有则放行,
没有,判断是否是登录请求或者是登录提交请求,
是则放行,
不是则跳转到登录页面
3、分析代码
HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;// 获得当前请求的URIString nowPath = req.getRequestURI();if (req.getSession().getAttribute(Constant.SESSION_USER) == null) {if ("/lbjn_mybatis/login.do".equals(nowPath)|| "/lbjn_mybatis/loginSubmit.do".equals(nowPath)) {chain.doFilter(req, resp);return;} else {resp.sendRedirect(req.getContextPath() + "/login.do");return;}}chain.doFilter(request, response);
4、在web.xml中配置过滤器的信息
<!-- 拦截非法登录 --><filter><filter-name>LoginFilter</filter-name><filter-class>cn.demo.filter.LoginFilter</filter-class></filter><filter-mapping><filter-name>LoginFilter</filter-name><url-pattern>*.do</url-pattern></filter-mapping>
LoginFilter.java源码:
package cn.demo.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;import cn.ilfy.lbjn_mybatis.constant.Constant;public class LoginFilter implements Filter {@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;// 获得当前请求的URIString nowPath = req.getRequestURI();if (req.getSession().getAttribute(Constant.SESSION_USER) == null) {if ("/lbjn_mybatis/login.do".equals(nowPath)|| "/lbjn_mybatis/loginSubmit.do".equals(nowPath)) {chain.doFilter(req, resp);return;} else {resp.sendRedirect(req.getContextPath() + "/login.do");return;}}chain.doFilter(request, response);}@Overridepublic void init(FilterConfig arg0) throws ServletException {}}
1 0
- web中定义过滤器验证登录(未登录没有权限访问页面)
- 验证登陆页面(未登录不允许访问列表页面)
- Java web过滤器验证登录防止未登录进入界面
- java web 使用fliter定义权限拦截(例如:提交订单,我的订单 没有登录前不允许访问)
- Java web实现登录验证和过滤器权限设置
- Java web登录验证过滤器
- 用过滤器实现登录和访问权限
- javaweb中如果用户没有登录,不能访问别的页面,只能访问登录页面
- jsp中判断权限,若没有登录,则不能访问
- 过滤器实现对未登录用户访问JSP页面,进行控制。
- Struts2(1)-Web中登录权限验证思路
- Spring MVC过滤器-登录过滤处理 ,访问页面的权限以及是否登陆
- javaweb 简单验证过滤器防止未登录直接进入主页
- JSP中filter过滤器验证用户登录
- JSP中filter过滤器验证用户登录
- JSP中filter过滤器验证用户登录(
- Java web过滤器验证登录(避免未经登录进入主页)
- Java web过滤器验证登录(避免未经登录进入主页)
- 关于vector
- quazip 问题总结
- JSTL标签学习
- HTML syntax highlighting with the Rich Edit control
- Android Sensor 架构深入剖析
- web中定义过滤器验证登录(未登录没有权限访问页面)
- Uva-227-Puzzle
- Painless streaming of rich text to/from CRichEditCtrl
- Android-Universal-Image-Loader 图片异步加载类库的使用
- HDU - 4965 Fast Matrix Calculation
- 运算符重载之(),+
- 金色十月线上编程比赛第二题:解密
- php中把URL中的汉字转码
- 剑指offer---圆圈中最后剩下的数字