采用Filter统一验证是否登录
来源:互联网 发布:ojbdk是什么意思网络 编辑:程序博客网 时间:2024/06/10 04:32
当我们访问系统的其他页面的时候, 需要判断是否是登录中的用户, 不然我们直接输入链接地址就可以直接链接到我们的主页面, 即使没有登录. 对于这个问题的解决, 采用Filter统一验证, 我们在调用的时候先调用Filter, 让Filter判断是否已经登录.
Filter统一验证代码:
public class AuthFilter implements Filter, javax.servlet.Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletResponse)response; //基于http协议的servlet //如果没有登录. String requestURI = req.getRequestURI().substring(req.getRequestURI().indexOf("/",1),req.getRequestURI().length()); //如果第一次请求不为登录页面,则进行检查用session内容,如果为登录页面就不去检查. if(!"/login.jsp".equals(requestURI) && !"/servlet/AuthImageServlet".equals(requestURI)) { //取得session. 如果没有session则自动会创建一个, 我们用false表示没有取得到session则设置为session为空. HttpSession session = req.getSession(false); //如果session中没有任何东西. if(session == null ||session.getAttribute("user_info")==null) { res.sendRedirect(req.getContextPath() + "/login.jsp"); //返回 return; } } //session中的内容等于登录页面, 则可以继续访问其他区资源. chain.doFilter(req, res); } }
在web.xml中配置Filter:
<filter> <filter-name>AuthFilter</filter-name> <filter-class>com.bjpowernode.drp.util.filter.AuthFilter</filter-class> </filter> <filter-mapping> <filter-name>AuthFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>AuthFilter</filter-name> <url-pattern>/servlet/*</url-pattern> </filter-mapping>
这样在没有登录系统的时候, 会自动的跳转到我们的登录页面. 并且在没有登录的情况下, 即使链接到其他的页面, 也会跳转到登录页面.
0 0
- 采用Filter统一验证是否登录
- 采用Filter统一验证是否登录
- 采用Filter统一验证是否登录
- 采用Filter统一验证是否登录
- 采用Filter统一验证是否登录
- ---Filter ( 五 ) filter统一验证是否登录
- 【Java基础】采用Filter实现AOP完成统一登录验证
- Filter 验证当前访问用户是否登录
- 采用Filter统一控制字符集
- 统一登录验证
- 统一登录验证过滤器
- web统一登录验证
- 采用Filter完成字符集的统一设置
- 【java】采用Filter完成统一控制
- Filter-过虑器应用之3-验证用户是否登录
- Javaweb验证登录 Filter
- filter过滤器登录验证
- 为什么采用filter实现了字符集的统一编码
- android 实现淘宝消息滚动条
- 使用grunt压缩,合并前端代码
- POJ-----1745Divisibility
- hdu1010 Tempter of the Bone
- 基于域名的7层转发的实现(NAT+反向代理)
- 采用Filter统一验证是否登录
- 188 power shell 配色方案
- 杭电OJ2057-A + B Again
- 四层负载均衡和七层负载均衡的区别
- jvm的GC日志分析
- 欢迎使用CSDN-markdown编辑器
- caffe源码阅读-插曲-math_function.cpp
- 动态库和静态库的导出
- Windows下对进程的一些操作