我认为问题出在您的规则 顺序 中:
.antMatchers("/admin/**").hasRole("ADMIN").antMatchers("/admin/login").permitAll()规则的顺序很重要,更具体的规则应排在第一位。现在,所有开头的内容
/admin都要求具有ADMIN角色的经过身份验证的用户,甚至是
/admin/login路径(因为
/admin/login该
/admin/**规则已经匹配了该规则,因此第二条规则已被忽略)。
因此,登录页面的
/admin/**规则应在规则之前。例如
.antMatchers("/admin/login").permitAll().antMatchers("/admin/**").hasRole("ADMIN")


