- 浏览: 232177 次
- 性别:
- 来自: 北京
文章分类
最新评论
web.xml
public class SystemConstants {
public static final String CURRENT_USER = "current_user";
}
AuthFilter.java
<filter> <filter-name>AuthFilter</filter-name> <filter-class>com.acconsys.capital.util.AuthFilter</filter-class> <init-param> <param-name>excludeUrl</param-name> <param-value>login.action,loginSubmit.action</param-value> </init-param> </filter> <filter-mapping> <filter-name>AuthFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
public class SystemConstants {
public static final String CURRENT_USER = "current_user";
}
AuthFilter.java
/******************************************************************************* * @project: Capital501 * @package: com.acconsys.capital.util * @file: AuthFilter.java * @created: 2014-8-15 * @purpose: * * @version: 1.0 * * Revision History at the end of file. * * Copyright 2014 AcconSys All rights reserved. ******************************************************************************/ package com.acconsys.capital.util; import java.io.IOException; import java.io.PrintWriter; 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 javax.servlet.http.HttpSession; import com.acconsys.capital.common.SystemConstants; public class AuthFilter implements Filter { private FilterConfig filterConfig = null; private String sysUrl; /** * @see Filter#destroy() */ public void destroy() { this.filterConfig = null; } /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { try { HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = (HttpServletResponse) response; if(sysUrl == null) { StringBuffer requestURL = httpRequest.getRequestURL(); String contextPath = httpRequest.getContextPath(); sysUrl = requestURL.substring(0, requestURL.indexOf(contextPath)) + contextPath; } if(isExcludeUrl(httpRequest)) { chain.doFilter(request, response); return; } HttpSession session = httpRequest.getSession(false); if (session == null || session.getAttribute(SystemConstants.CURRENT_USER) == null) { PrintWriter out = httpResponse.getWriter(); out.write("<script>window.top.location.href='" +httpRequest.getContextPath() + "/login.action'</script>"); }else{ chain.doFilter(request, response); } } catch (Exception ex) { ex.printStackTrace(); } } private boolean isExcludeUrl(HttpServletRequest request) { String contextPath = request.getContextPath(); String excludeUrl = filterConfig.getInitParameter("excludeUrl"); String requestUri = request.getRequestURI(); int questionIndex = requestUri.indexOf("?"); if (questionIndex > 0) { requestUri = requestUri.substring(0, questionIndex); } String[] actions = excludeUrl.split(","); for (int i = 0; i < actions.length; i++) { if (requestUri.equals(contextPath + "/" + actions[i].trim())) { return true; } } return false; } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; } } /******************************************************************************* * <B>Revision History</B><BR> * [type 'revision' and press Alt + / to insert revision block]<BR> * * * * Copyright 2014 AcconSys All rights reserved. ******************************************************************************/
发表评论
-
JAVA调用热敏打印机
2018-04-24 19:48 2572package test; import java. ... -
java中JSON转对象
2018-04-24 19:26 716依赖jar JSON格式 {order:{buyer:'大 ... -
Log4j输出多个文件
2017-12-22 13:54 610log4j.rootLogger=warn,stdout, ... -
Eclipse生成可运行jar策略
2017-12-06 21:03 625一个普通的java工程,用cxf连接webserivice。在 ... -
在线运行java测试
2017-12-01 11:42 1211http://www.runoob.com/try/runco ... -
TOMCAT不能正常启动总结
2017-11-29 14:11 1074记录下TOMCAT不能启动的几种原因 -
bat获得环境变量属性值的第一段
2017-10-27 17:38 1160分号将Path中的路径分隔开,取第一个路径用tokens=1, ... -
自定义result返回值(转载)
2017-10-27 10:43 673Struts2 自定义Result ... -
HttpClient使用
2017-10-26 17:14 553http://blog.csdn.net/z6918378 ... -
调用HTTP下载文件401错误
2017-08-03 09:19 1401public static boolean httpDow ... -
MAVEN通过URL下载jar
2017-12-06 22:47 1342MAVEN通过URL下载jar -
传统行业到互联网
2017-03-27 23:02 503http://card.weibo.com/article/h ... -
spring+mybatis+struts2集成
2017-03-23 11:34 445这篇写的不错:http://blog.csdn.net/afg ... -
Map与Json互相转换
2017-01-06 10:44 952/**************************** ... -
maven搭建SSM
2016-12-09 17:49 600可参考:http://wosyingjun.iteye.com ... -
maven发布tomcat
2016-12-08 10:21 440转载:http://www.cnblogs.com/g ... -
swing-FlowLayout垂直布局
2016-12-07 17:35 1611package layout; import jav ... -
dom4j及xpath基础应用
2016-12-01 14:17 565Jdom:对于小型xml处理就好 dom4j:对于大文件优与j ... -
Websocket
2016-11-02 10:28 501最简单的理解 ,websock ... -
JAVA 读取最后一行 删除最后一行 覆盖最后一行
2016-09-26 16:33 1845注:有的地方视情况而定,比如nextend = start+l ...
相关推荐
在这个“servlet过滤器做的简单登陆demo”中,我们将探讨如何利用过滤器实现一个基础的登录验证系统。这个例子非常适合初学者理解和实践过滤器的用法。 1. **Servlet Filter原理**: Servlet过滤器遵循`Filter`...
本项目主要关注的是如何使用过滤器(Filter)和拦截器(Interceptor)来实现登录页面的控制与跳转。以下是对这些知识点的详细说明: 1. **SpringBoot**: SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...
SSM(Spring、SpringMVC、MyBatis)框架是Java Web开发中常见的技术栈,其在处理用户请求时,通常会用到过滤器(Filter)进行预处理,以实现如登录验证等功能。本篇文章将深入讲解如何在SSM项目中通过过滤器实现登录...
描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证用户登录状态的工具。 Servlet过滤器是基于Java的Servlet API实现的,主要通过实现`javax.servlet.Filter`接口来创建。`Filter`接口定义了三个核心方法...
在Java Web开发中,过滤器(Filter)是一个强大的工具,常用于实现各种需求,如登录操作的处理。本文将深入探讨如何使用过滤器进行登录操作,以及这一过程中的相关知识点。 首先,我们要理解过滤器的基本概念。在...
在IT领域,过滤器(Filter)是Web应用程序中一个重要的组件,主要负责处理HTTP请求和响应,实现诸如数据过滤、安全防护、权限控制等任务。本实例“包含过滤器的一个简单登录实例”将引导我们了解如何在实际项目中...
在IT行业中,构建一个安全的Web应用程序是至关重要的,而登录过滤器和请求拦截器是实现这一目标的关键组件。本文将详细讲解如何使用IntelliJ IDEA(Idea)、Maven和Spring MVC框架来创建一个登录过滤器,以及如何将...
标题中的“用过滤器验证登陆框架,简单实例”指的是在Web开发中,使用过滤器(Filter)技术来实现用户登录验证的一种常见方法。过滤器是Servlet技术的一部分,它允许我们在请求到达目标资源(如Servlet、JSP页面)...
综上所述,`javaWeb_33`这个文件可能包含了一个实现用户登录检查的Java Web过滤器示例,它展示了如何利用过滤器机制来确保只有登录用户才能访问受保护的资源。通过深入理解过滤器的工作原理和配置方式,开发者可以更...
在Servlet中,我们可以创建一个实现了javax.servlet.Filter接口的类,然后在web.xml中配置该过滤器,设置它拦截所有敏感路径。过滤器会检查请求中是否包含有效的Session,如果没有,就重定向到登录页面。 三、角色...
5. **测试和调试**:部署应用后,尝试访问受过滤器保护的JSP页面,观察过滤器是否按预期工作。 这个经典例题将帮助初学者理解如何在实际项目中应用Filter进行权限控制,为Web应用添加一层安全防护。通过学习和实践...
2. **应用过滤器**:在需要进行身份验证的控制器或Action方法上添加上述定义的过滤器属性,或者在`Global.asax`文件中将其注册为全局过滤器。 ```csharp [FormAuthenticationFilter] public class TestController...
在登录系统中,权限过滤通常通过拦截器或过滤器实现,检查用户的登录状态和角色权限,防止未授权的访问。在s2s3h3框架中,可能会使用拦截器来实现这一功能,确保只有合法用户才能访问特定的页面和功能。 4. **JSON...
6. **过滤器(Filters)**:在C# Web API中,可以使用过滤器实现全局的认证和授权检查。例如,使用`[Authorize]`属性可以限制只有经过身份验证的用户才能访问特定的API。 7. **跨域资源共享(CORS)**:由于浏览器...
Java-filter过滤器在项目开发中的应用 Java-filter过滤器是一种Java EE规范中的一种组件,用于...Java-filter过滤器在项目开发中的应用非常广泛,可以用于解决项目中的各种问题,例如字符编码问题、资源访问控制等。
5. **Web应用架构**:这里采用的是经典的MVC(Model-View-Controller)模式,MyBatis作为模型层处理数据,Servlet作为控制器负责流程控制,而JSP(视图层)则呈现最终结果给用户。 6. **安全注意事项**:在实现登录...
本文实例讲述了JSP学习之Java Web中的安全控制。分享给大家供大家参考。具体如下: 一、目标: ① 掌握登录之后的一般处理过程; ② 能够为每个页面添加安全控制; ③ 能够共享验证代码; ④ 使用过滤器对权限进行...
过滤器权限判断流程("过滤器权限判断流程.png")是指在用户操作前进行的一种安全性检查。例如,只有已登录的用户才能查看其订单历史,或者管理员才能访问后台管理功能。这种机制有助于防止未授权的访问和数据泄露。 ...
总之,这个"Java Web用户只能在一处登陆源码"项目涉及到Web应用的身份验证、会话管理、安全机制以及分布式环境下的SSO实现。通过学习和研究这个源码,开发者可以深入理解Java Web应用的登录流程以及SSO的相关技术。
在Structs2中,拦截器是基于AOP(面向切面编程)理念实现的,它们可以看作是控制器方法执行前后的过滤器。通过定义和配置拦截器,我们可以拦截并处理HTTP请求,决定是否允许请求继续进行,或者返回错误信息、重定向...