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过滤器之前
分享到:
相关推荐
2. **配置Spring Security**: - 配置Spring Security的WebSecurityConfigurerAdapter,关闭默认的CSRF保护,并指定不进行HTTP Basic认证。 - 在`configure(HttpSecurity http)`方法中,定义允许匿名访问的资源和...
.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 分布式限流/同步锁/验证码/...
结果:本项目采用Spring Security 5.7.x框架,实现了微服务架构下的安全设计方案及其源码实现。项目主要使用Java语言开发,同时涉及HTML、CSS和JavaScript等前端技术。项目文件总计519个,包括Java源文件345个、XML...
平台支持微信小程序和Uniapp前端开发,后端采用Vue+iView Admin,并结合了Spring Boot 2.x、Spring Security、JWT、JPA、Mybatis-Plus、Redis、Elasticsearch、Activiti等先进技术。功能丰富,包括分布式限流、同步...
XBoot 微信小程序+Uniapp 前端:Vue+iView Admin 后端:Spring Boot 2.x/Spring Security/JWT/JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID生成 动态权限管理 数据...
2. **Spring Security**: 是一个强大的安全框架,用于保护Spring应用。在这个项目中,Spring Security负责身份验证和授权,为API提供安全访问控制。用户登录后,Spring Security会生成一个JWT令牌,用于后续请求的...
- Spring Security 支持 OAuth2,而 Shiro 需要手动实现这一功能。同时,Spring Security 提供更细粒度的权限管理。 **1.2.3 如何选择** - 如果项目规模较小且不使用 Spring 框架,建议选择 Shiro。 - 若项目基于...
SpringSecurity框架下实现CSRF跨站攻击防御的方法 CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种网络攻击方式,也可以说是一种安全漏洞,这种安全漏洞在web开发中广泛存在。在SpringSecurity框架下,...
基于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常见示例 模块划分,帮你快速掌握Spring Security 1.核心依赖 依赖 版本 Sprint Boot 2.1.6发布 春云 格林威治SR2 Spring安全 2.1.6发布 Spring安全OAuth2 2.1.3发布 胡图尔 4.0.5 2.模块整理...
前后端分离项目,Spring boot作为后端,vue框架实现前端,后端整合swagger3测试工具,jwt实现验证码生成,awt生成图形验证码,整合邮箱验证,使用mybatis-generator自动生成实体类以及mapper,设置有拦截器验证登录...
2.x/Spring Security/JWT/Spring Data JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID生成 动态权限管理 数据权限 工作流 代码生成 日志 定时任务 第三方社交账号、...
SSH框架的版本也需要适配,例如Struts2.5、Spring 4.x和Hibernate 5.x。 **一、搭建Struts2框架** 1. 添加Struts2的依赖到`pom.xml`文件中。 2. 创建Struts2的核心配置文件`struts.xml`,配置拦截器栈、结果类型和...
涉及技术:Spring Boot 2.x / Spring Security / JWT / Spring Data JPA + Mybatis-Plus / Redis / Elasticsearch分布式限流/同步锁/验证码/ SnowFlake雪花算法ID生成动态权限管理定时任务第三方账号,短信登录 ...
1. **客户端配置**:在需要接入CAS的各个应用系统中,配置CAS客户端库,如Spring Security CAS。 2. **服务URL配置**:设置每个应用的CAS服务URL,以及服务验证和登出URL。 3. **测试登录**:通过浏览器访问应用,...
Spring Security是Java生态系统中的一个强大安全框架,广泛应用于后端开发。它提供了访问控制、身份验证、会话管理等功能,可以帮助开发者轻松实现权限控制,防止未授权的访问和攻击。 5. **Apache HttpClient** ...
`Acegi X_509双向认证 (添加验证码jcaptcha).mht`可能涉及到了基于X.509证书的SSL/TLS客户端认证,这是一种更高级的身份验证方式,常用于企业级应用。同时,结合jCaptcha的使用,可以防止恶意自动化的登录尝试,...
开发工具:安全框架Spring security、 shiro、Spring boot 3、安全工具和设备(2天) DDos防护、WAF、主机入侵防护等等 4、网站安全工具(1天) 阿里云、云狗、云盾 网站在线检测:http://webscan.360.cn/ ...
该项目采用了SpringBoot 2.X作为核心框架,结合Mybatis作为持久层框架,PageHelper用于分页处理,Netty作为高效的网络通信库,Redis用于缓存管理,Spring Security确保系统安全,Logger用于日志记录,Swagger用于API...