Надеюсь, что этот ответ может помочь.
На самом деле, при использовании OAuth2 с ResourceServerConfiguration
у вас будет защита без сохранения состояния , которая заранее отбросит любые усилия по насмешке над пользователями..
Что вы должны сделать, чтобы высмеивать пользователей:
- Создать TestOnly загруженную ResourceServerConfiguration, которая переопределяет вашу стандартную таким образом:
public class TestConfiguration extends ResourceServerConfiguration {
@Override
public void configure(ResourceServerSecurityConfigurer res) {
res.stateless(false);
super.configure(resources);
}
}
добавить
@WithMockUser
к тестам:
@Test
@WithMockUser(username ="username_admin", authorities = {"I_AM_LEGEND"})
public void myTestWithUser() throws Exception {
this.mvc.perform(get("/getUsername")).andExpect(content().text().contains("username_admin"));
}
@Test
public void myTestWithNoUser() throws Exception {
this.mvc.perform(get("/getUsername")).andExpect(status().isUnauthorized());
}
ПРИМЕЧАНИЕ: я написал код из памяти