我们假设我们有以下网络安全配置:
http
.and().formLogin()
.loginProcessingUrl("/api/authentication")
.successHandler(authenticationSuccessHandler)
.failureHandler(authenticationFailureHandler)
.usernameParameter("j_username")
.passwordParameter("j_password")
.permitAll()
如何在集成测试中使用TestRestTemplate传递身份验证过程?
答案 0 :(得分:0)
TestRestTemplate
提供了一个名为withBasicAuth()
的方法,因此您可以使用
testRestTemplate.withBasicAuth(
"user", "passwd").getForEntity(YOUR_URL, String.class)
如果您使用的是旧版本,可以试试这样的
HttpHeaders headers = new HttpHeaders();
String auth = "userid" + ":" + "password";
byte[] encodedAuth = Base64.encode(auth.getBytes(Charset.forName("US-ASCII")));
String authHeader = "Basic " + new String( encodedAuth );
headers.set("Authorization", authHeader );
您自己生成身份验证标头