首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在构建inMemoryAuthentication构建器之后,如何将用户添加到它?

在构建inMemoryAuthentication构建器之后,如何将用户添加到它?
EN

Stack Overflow用户
提问于 2014-09-16 20:50:25
回答 1查看 26.7K关注 0票数 26

我已经设法在应用程序的初始加载期间将所有用户加载到AuthenticationManagerBuilder中,但我需要在启动后添加用户。

启动:

public class WebSecurityConfig extends WebSecurityConfigurerAdapter

...

auth.inMemoryAuthentication().withUser(email).password(password).roles(roles.toArray(new String[roles.size()])).and().passwordEncoder(encoder());

这在某个时间点非常有效,但我有一个可以在应用程序运行时添加用户的用例。

通过哪种方法可以在启动后执行此操作(通过控制器/服务)?我认为它可能是InMemoryUserDetailsManager (它包含createUser()方法),但我不确定如何引用或配置它。

EN

回答 1

Stack Overflow用户

发布于 2017-08-01 00:00:05

我更改了以下代码:

inMemoryUserDetailsManager.createUser(new User(username, password, new ArrayList<GrantedAuthority>()));

来自@geoend对以下内容的回答:

inMemoryUserDetailsManager.createUser(User.withUsername(username).password(password).roles("USER").build());

因为默认情况下,新用户没有任何权限。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25869260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档