`
fackyou200
  • 浏览: 309500 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

spring security2.x 登陆验证码

阅读更多

CodeFilter过滤器:

public class CodeFilter extends HttpServlet implements Filter {

	private static final long serialVersionUID = 1L;

	/* (non-Javadoc)
	 * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
	 */
	public void doFilter(ServletRequest servletRequest,
			ServletResponse servletResponse, FilterChain filterChain)
			throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest) servletRequest;
		HttpServletResponse response = (HttpServletResponse) servletResponse;
		String code = request.getParameter("j_code");
		String codes = request.getSession().getAttribute("rand").toString();
		if (!"".equals(codes) && codes != null) {
			if (code.equalsIgnoreCase(codes)) {
				request.getSession().removeAttribute("rand");
				filterChain.doFilter(request, response);
			} else {
				response.sendRedirect("ceshi/login.jsp?error=true");
			}
		} else {
			response.sendRedirect("ceshi/login.jsp?error=true");
		}
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub

	}

}

 

修改web.xml

<!-- 验证码过滤 -->
	<filter>
		<filter-name>CodeFilter</filter-name>
		<filter-class>
			com.zh.dl.security.code.CodeFilter
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>CodeFilter</filter-name>
		<url-pattern>/j_spring_security_check</url-pattern>
	</filter-mapping>



	<!-- spring Security 过滤器 -->
	<filter>
		<filter-name>springSecurityFilterChain</filter-name>
		<filter-class>
			org.springframework.web.filter.DelegatingFilterProxy
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>springSecurityFilterChain</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

注意:验证码的过滤器必须放在springSecurityFilterChain过滤器之前

分享到:
评论

相关推荐

    spring boot3.x结合spring security最新版实现jwt登录验证

    2. **配置Spring Security**: - 配置Spring Security的WebSecurityConfigurerAdapter,关闭默认的CSRF保护,并指定不进行HTTP Basic认证。 - 在`configure(HttpSecurity http)`方法中,定义允许匿名访问的资源和...

    基于Spring Boot 2.x的前后端分离架构X-Boot 后台.zip

    .zip,基于Spring Boot 2.x的前后端分离开发平台X-Boot 前端:Vue iView Admin 后端:Spring Boot 2.x/Spring Security/JWT/Spring Data JPA Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/...

    基于SpringSecurity 5.7.x的微服务安全设计与源码实现

    结果:本项目采用Spring Security 5.7.x框架,实现了微服务架构下的安全设计方案及其源码实现。项目主要使用Java语言开发,同时涉及HTML、CSS和JavaScript等前端技术。项目文件总计519个,包括Java源文件345个、XML...

    基于Spring Boot 2.x的Java一站式前后端分离快速开发平台XBoot设计源码

    平台支持微信小程序和Uniapp前端开发,后端采用Vue+iView Admin,并结合了Spring Boot 2.x、Spring Security、JWT、JPA、Mybatis-Plus、Redis、Elasticsearch、Activiti等先进技术。功能丰富,包括分布式限流、同步...

    基于Spring Boot 2.x的一站式前后端分离快速开发平台

    XBoot 微信小程序+Uniapp 前端:Vue+iView Admin 后端:Spring Boot 2.x/Spring Security/JWT/JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID生成 动态权限管理 数据...

    SpringBoot2.7整合SpringSecurity+Jwt+Redis+MySQL+MyBatis完整项目代码

    2. **Spring Security**: 是一个强大的安全框架,用于保护Spring应用。在这个项目中,Spring Security负责身份验证和授权,为API提供安全访问控制。用户登录后,Spring Security会生成一个JWT令牌,用于后续请求的...

    全套Spring Security入门到项目实战课程

    - Spring Security 支持 OAuth2,而 Shiro 需要手动实现这一功能。同时,Spring Security 提供更细粒度的权限管理。 **1.2.3 如何选择** - 如果项目规模较小且不使用 Spring 框架,建议选择 Shiro。 - 若项目基于...

    SpringSecurity框架下实现CSRF跨站攻击防御的方法

    SpringSecurity框架下实现CSRF跨站攻击防御的方法 CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种网络攻击方式,也可以说是一种安全漏洞,这种安全漏洞在web开发中广泛存在。在SpringSecurity框架下,...

    x-boot前后端分离开发平台

    基于Spring Boot 2.x的前后端分离开发平台X-Boot 前端:Vue+iView Admin 后端:Spring Boot 2.x/Spring Security/JWT/Spring Data JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/...

    security-demo:Springboot,SpringSecutity常见演示集

    整理了SpringSecurity常见示例 模块划分,帮你快速掌握Spring Security 1.核心依赖 依赖 版本 Sprint Boot 2.1.6发布 春云 格林威治SR2 Spring安全 2.1.6发布 Spring安全OAuth2 2.1.3发布 胡图尔 4.0.5 2.模块整理...

    Spring boot+vue3+element plus实现后台管理系统

    前后端分离项目,Spring boot作为后端,vue框架实现前端,后端整合swagger3测试工具,jwt实现验证码生成,awt生成图形验证码,整合邮箱验证,使用mybatis-generator自动生成实体类以及mapper,设置有拦截器验证登录...

    java版商城源码下载-learning-project:该项目收集一些优秀的开源项目

    2.x/Spring Security/JWT/Spring Data JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID生成 动态权限管理 数据权限 工作流 代码生成 日志 定时任务 第三方社交账号、...

    ssh框架搭建并简单实例实现(注册登录功能)

    SSH框架的版本也需要适配,例如Struts2.5、Spring 4.x和Hibernate 5.x。 **一、搭建Struts2框架** 1. 添加Struts2的依赖到`pom.xml`文件中。 2. 创建Struts2的核心配置文件`struts.xml`,配置拦截器栈、结果类型和...

    xboot-front:基于Vue + iView Admin开发的XBoot前初始化分离开放平台前端权限可控制至按钮显示动态路由权限菜单多语言简洁美观的前瞻分离

    涉及技术:Spring Boot 2.x / Spring Security / JWT / Spring Data JPA + Mybatis-Plus / Redis / Elasticsearch分布式限流/同步锁/验证码/ SnowFlake雪花算法ID生成动态权限管理定时任务第三方账号,短信登录 ...

    CAS服务器部署

    1. **客户端配置**:在需要接入CAS的各个应用系统中,配置CAS客户端库,如Spring Security CAS。 2. **服务URL配置**:设置每个应用的CAS服务URL,以及服务验证和登出URL。 3. **测试登录**:通过浏览器访问应用,...

    基于JAVA的安全电子商务(文档).zip

    Spring Security是Java生态系统中的一个强大安全框架,广泛应用于后端开发。它提供了访问控制、身份验证、会话管理等功能,可以帮助开发者轻松实现权限控制,防止未授权的访问和攻击。 5. **Apache HttpClient** ...

    acegi资料大全-全集

    `Acegi X_509双向认证 (添加验证码jcaptcha).mht`可能涉及到了基于X.509证书的SSL/TLS客户端认证,这是一种更高级的身份验证方式,常用于企业级应用。同时,结合jCaptcha的使用,可以防止恶意自动化的登录尝试,...

    Web安全培训ppt(适合初学者)

    开发工具:安全框架Spring security、 shiro、Spring boot 3、安全工具和设备(2天) DDos防护、WAF、主机入侵防护等等 4、网站安全工具(1天) 阿里云、云狗、云盾 网站在线检测:http://webscan.360.cn/ ...

    java项目总结 涉及到的技术和页面实现的功能

    该项目采用了SpringBoot 2.X作为核心框架,结合Mybatis作为持久层框架,PageHelper用于分页处理,Netty作为高效的网络通信库,Redis用于缓存管理,Spring Security确保系统安全,Logger用于日志记录,Swagger用于API...

Global site tag (gtag.js) - Google Analytics