好吧,我设法解决了我的问题;碰巧我弄乱了SecurityConfig中通知的Url和我视图中的Url。我将来需要记住:在课堂上,始终使用//。在视图中,请始终使用。
就我而言,视图是这样写的:
index.jsp- >登录页面
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><c:url value="/spring/login" var="loginUrl"/><form method="post" action="${loginUrl}"> usuário: <input type="text" name="login" size=20> <br/> senha: <input type="password" name="senha" size=20> <br/> <input type="submit" value="entrar"> <br/></form></body></html>home.jsp- >“命运”页面(仪表板):仅在此项目状态下用于测试
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h2> <c:out value="${pageContext.request.remoteUser}"/> <a href="<c:out value="${pageContext.request.contextPath}/spring/logout"/>">Logout</a></h2></body></html>类SecurityConfig.java的最终代码
@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired public void configure(AuthenticationManagerBuilder auth) throws Exception { auth .inMemoryAuthentication() .withUser("kleber") .password("123") .roles("USER"); } protected void configure(HttpSecurity http) throws Exception { http .csrf() .disable() .authorizeRequests() .antMatchers("/css/**", "/fonts/**", "/image/**", "/js/**").permitAll() .anyRequest().authenticated() .and() .formLogin() .loginPage("/spring/index").permitAll() .loginProcessingUrl("/spring/login").permitAll() .usernameParameter("login") .passwordParameter("senha") .successHandler(new CustomAuthenticationSuccessHandler()) .failureHandler(new CustomAuthenticationFailureHandler()) .and() .logout() .logoutUrl("/spring/logout") .logoutSuccessUrl("/spring/index").permitAll(); }}


