在通过this link获得Spring REST安全性的同时,我遇到了以下代码:
auth.inMemoryAuthentication()
.withUser("admin")
.password("{noop}password")
.roles("USER");
我检查了本教程,但在密码部分找不到{noop}
的含义。
答案 0 :(得分:1)
这是指定的密码编码器;每个this release blog post:
密码存储格式
密码的一般格式为:
{id}encodedPassword
id
是用于查找哪个标识符的标识符 应该使用PasswordEncoder
,而encodedPassword
是原始的 所选PasswordEncoder
的编码密码。
noop
是“无操作”的缩写,表示密码以纯文本格式存储,因此密码仅为password
。您可以在发布的链接中进一步使用该链接,其中Authorization
标头设置为Basic YWRtaW46cGFzc3dvcmQ=
,然后将其解码为admin:password
。
对于任何非演示用途,请注意the class documentation:
此PasswordEncoder不安全。而是使用自适应的一种方法 像BCryptPasswordEncoder,Pbkdf2PasswordEncoder或 SCryptPasswordEncoder。