В конфигурации XML можно ссылаться на файл свойств, определяющий учетные данные пользователя. Например:
<security:user-service id="userDetailsService" properties="classpath:users.properties"/>
Однако в конфигурации Java нет альтернативы по умолчанию (о которой я знаю), но вы пишете свою собственную реализацию, например:
@Bean
public UserDetailsService userDetailsService() {
Properties properties = new Properties();
try {
File file = ResourceUtils.getFile("classpath:users.properties");
properties.load(new FileInputStream(file));
return new InMemoryUserDetailsManager(properties);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
Мне было интересно, можно ли добавить это, чтобы это обеспечивалось рамкой безопасности пружины из коробки. Что-то вроде:
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication("classpath:user.properties")
...
или
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUserCredentialsFile("classpath:user.properties")
...