从密码编码中包含服务层

问题描述 投票:0回答:1
在我的服务层中,我有更新电子邮件的方法:

@Override public void updateUserEmail(String email, String newEmail, String password) throws InvalidPasswordException, DuplicateEmailException { Client client = getSpecializedUserByEmail(email); /*....*/ }

PassWord-由用户输入,但是要检查它是否与真实匹配,我必须在我的服务层中使用BCryptPasswordencoder-但这违反了服务层的封装。 我可以在控制器中使用密码检查 - 但这是不好的做法。 请帮助,我将非常感谢

我不确定您为什么认为在服务中使用bcryptpasswordencoder会破坏封装。
java spring-mvc model-view-controller service-layer
1个回答
1
投票

方式,您的服务对象非常松散地与编码器耦合,并且可以更改编码器的内部实现而不会影响服务对象。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.