使用Spring Security登录页面进行表单验证

时间:2017-01-10 17:00:12

标签: java spring validation spring-mvc spring-security

我创建了一个简单的登录页面并配置了Spring安全性来使用它。但实际上我可以提交一份空表格。我不希望这样。我需要在文本字段上显示验证消息。用户必须无法通过提交空表单来触发昂贵的身份验证机制。

我该怎么做?

我遵循了这个教程 - https://docs.spring.io/spring-security/site/docs/3.2.0.RELEASE/guides/form.html

1 个答案:

答案 0 :(得分:1)

您可以将required attribute添加到登录名和密码字段中。在这种情况下,浏览器不允许提交带有空字段的表单。但这是一种客户端技术,因此用户仍然可以手动或从不支持此属性的浏览器(如Safari)提交此类空请求。

因为您正在处理Spring Security,所以不能使用Spring MVC中的控制器甚至拦截器,因为它们是在Spring Security的过滤器之后执行的。

我建议您编写自定义过滤器,将其放在Spring Security的过滤器之前,并手动处理空表格。

作为如何编写过滤器以及如何在Spring Boot应用程序中注册它的示例,您可以在我的宠物项目中使用此提交:4020099d在您的情况下,代码将更简单。