How to get user's authorization credentials in code with spring security?

最后都变了- 提交于 2019-12-05 05:20:57

Simple.

Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String username = auth.getName();
Object credentials = auth.getCredentials();

To access the credentials, i.e. the password, you need to set erase-credentials to false:

<security:authentication-manager erase-credentials="false">
  ...
</security:authentication-manager>

Or if configured via annotations then:

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.eraseCredentials(false);
    /* configure user-service, password-encoder etc ... */
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!