Spring MVC过滤器-登录过滤处理 ,访问页面的权限以及是否登陆
来源:互联网 发布:飞升元神数据 编辑:程序博客网 时间:2024/05/18 00:11
package com.wisdom.management.filter;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.filter.OncePerRequestFilter;/** * 类名称:SessionFilter * 类描述: 登陆过滤器 * 修改备注: * @version */ public class SessionFilter extends OncePerRequestFilter {/* * (non-Javadoc) * * @see * org.springframework.web.filter.OncePerRequestFilter#doFilterInternal( * javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) */@Overrideprotected void doFilterInternal(HttpServletRequest request,HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException {// 不过滤的uriString[] notFilter = new String[] { "login.jsp"};// 请求的uriString uri = request.getRequestURI();// uri中包含pages时才进行过滤if (uri.indexOf("article") != -1) {// 是否过滤boolean doFilter = true;for (String s : notFilter) {if (uri.indexOf(s) != -1) {// 如果uri中包含不过滤的uri,则不进行过滤doFilter = false;break;}}if (doFilter) {// 执行过滤// 从session中获取登录者实体Object obj = request.getSession().getAttribute("loginedUser");if (null == obj) {// 如果session中不存在登录者实体,则弹出框提示重新登录// 设置request和response的字符集,防止乱码request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();String loginPage = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();StringBuilder builder = new StringBuilder();builder.append("<script charset=\"UTF-8\" language=\"javascript\" type=\"text/javascript\">");builder.append("alert('网页过期,请重新登录!');");builder.append("window.top.location.href='");builder.append(loginPage);builder.append("';");builder.append("</script>");out.print(builder.toString());} else {// 如果session中存在登录者实体,则继续filterChain.doFilter(request, response);}} else {// 如果不执行过滤,则继续filterChain.doFilter(request, response);}} else {// 如果uri中不包含background,则继续filterChain.doFilter(request, response);}}}
2. 写完过滤器后,需要在web.xml中进行配置:
<!-- 登陆过滤器 --> <filter><filter-name>sessionFilter</filter-name><filter-class>com.wisdom.management.filter.SessionFilter</filter-class></filter><filter-mapping><filter-name>sessionFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
0 0
- Spring MVC过滤器-登录过滤处理 ,访问页面的权限以及是否登陆
- Spring MVC过滤器 登陆过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤 .
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤
- Spring MVC过滤器-登录过滤(未测试)
- 过滤器用来拦截用户是否登录访问权限的问题(通过session来进行拦截)
- spring 拦截器过滤登录url 不验证是否登录其他的都拦截验证是否登录才能访问url
- Session失效以及页面访问权限的处理方法
- 微信公众平台开发入门教程
- matlab代码批量屏蔽与取消屏蔽
- 陈怡暖:金价周一受耶伦讲话及美元走强影响
- js实现hash
- 粘滞广播--076集
- Spring MVC过滤器-登录过滤处理 ,访问页面的权限以及是否登陆
- 简单的几个shell脚本六
- HTML5 Canvas刮刮卡效果 实例
- 对XML文件的解析
- 软件版本GA,RC,alpha,beta,Build 含义
- Apk文件破解可见源码
- Duplicate methods named spliterator with the parameters () and () are inherited from the types Colle
- GitHub Android 开源项目汇总
- Tomcat6.0 SSL的配置