自定义用户登录验证时的页面

自定义用户登录验证时的页面

之前我们在SpringSecurity中的登录验证的页面都是SpringSecurity默认的,并且默认所有的访问请求都需要先经过SpringSecurity的登录验证,那么我们可不可以设置一些不需要SpringSecurity登录验证可以直接进行访问的请求呢?我们可以不可以自定义我们需要访问的登录验证时的页面呢?答案都是可以的,具体应该怎样操作,请参照下面的内容。

1.在SpringSecurity的配置类中进行配置

配置类中的配置如下图:

在这里插入图片描述
注意上图中
.anyRequest()
.authenticated()
的作用,这两个方法的作用是,保证所有的请求都必须要经过登录验证,
antMatchers(请求).permitAll()中的请求除外,因为如果antMatchers方法后面调用的是permitAll方法那么antMatchers里面的请求就不用进行登录验证了;如果没有写.anyRequest().authenticated()那么只要不是类似于antMatchers(“请求”).hasRole(…)或者antMatchers(“请求”).hasAuthority(…)的请求都可以不登录验证,然后直接就可以访问了,我们在使用SpringSecurity的时候肯定不希望这个样子,所以一定要记得加上.anyRequest().authenticated()

2.自定义的登录页面login.html

自定义的登录页面如下图:

在这里插入图片描述

为什么登录页面login.html中的用户名和密码对应的name必须是username和password,请看源码中的规定,如下图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.对应的控制器

对应的控制器如下图所示:

在这里插入图片描述

4.测试

在浏览器中输入地址localhost:8888/test/index之后,登录验证的页面如下图所示:

在这里插入图片描述

可以发现,这就是我们刚才自定义的登录页面。

猜你喜欢

转载自blog.csdn.net/qq_45950109/article/details/112808067