请问有没有办法在代码里获得当前用户的密码

请问有没有办法在代码里获得当前用户的密码(非加密)?

密码经过了哈希处理,不能获取到初始密码。 你说的 '非加密"是什么意思?

就是用户输入的原始值,有没有办法获取?我需要和其他系统同步,要把原始密码发过去

你可以通过扩展登录界面、扩展密码修改界面、扩展LoginPasswordAuthenticationProvider 组件,在不同的时机获取到用户输入的明文密码,然后自己存储下来。但一般是没有必要存储用户的明文密码,反而会增加安全隐患。

说说你的应用场景,可能会有更合适的方案。

我的场景就是在系统添加用户、修改密码的时候,把该用户和密码通过接口推送给第三方系统保持同步。然后在登录之后使用当前的用户密码去获取第三方接口的访问权。因为第三方系统密码加密方式和CUBA不一样,只能给他明文。

扩展 UserEditor 界面,重写 preCommit 方法,可以在保存前获取用户信息并存储,详细信息可以查看源码。
扩展 UserManagementServiceBean 组件,跟踪用户的密码变更 。

好的,我试一试,有问题再请教