我似乎失去了一些東西在這裏根本:春季安全:UserDetailsService的作品只有一次
@SpringBootApplication
public class Application {
User u = new User("USER", "PASSWORD",AuthorityUtils.createAuthorityList(
"ROLE_USER", "ROLE_ADMINISTRATOR"));
@Bean
public UserDetailsService userDetailsService() {
// returning a new User object works fine for every request
return username -> new User("USER", "PASSWORD",
AuthorityUtils.createAuthorityList(
"ROLE_USER", "ROLE_ADMINISTRATOR"));
// returning a previously created User object
// works only for the first request,
// subsequent requests get a 401 error
// return username -> u;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
這個春天啓動(V1.5.1)使用spring-boot-starter-security
依賴應用程序只知道一個用戶截至目前的。而且,它的所有端點只能被這個用戶訪問。在我看到的所有工作示例中,UserDetailsService
總是返回類型爲User
的新對象,就像上面的示例中一樣。
但是,當它返回一個先前創建的對象(如上面的對象名爲u
)時,只有第一個請求被認證。爲什麼?
你嘗試調試? –