|
|
@@ -1,5 +1,6 @@
|
|
|
-package cn.reghao.devops.manager.rbac.security;
|
|
|
+package cn.reghao.devops.manager.rbac.security.form;
|
|
|
|
|
|
+import cn.reghao.devops.manager.rbac.security.exceptioin.AccountLoginException;
|
|
|
import cn.reghao.jutil.jdk.security.Cryptor;
|
|
|
import cn.reghao.jutil.jdk.security.Md5Cryptor;
|
|
|
import cn.reghao.devops.manager.rbac.model.po.User;
|
|
|
@@ -16,11 +17,11 @@ import java.security.NoSuchAlgorithmException;
|
|
|
* @author reghao
|
|
|
* @date 2019-04-09 09:07:40
|
|
|
*/
|
|
|
-public class UsernamePasswordAuthProvider implements AuthenticationProvider {
|
|
|
+public class AccountAuthProvider implements AuthenticationProvider {
|
|
|
private final UserDetailsServiceImpl userDetailsService;
|
|
|
private final Cryptor cryptor;
|
|
|
|
|
|
- public UsernamePasswordAuthProvider(UserDetailsServiceImpl userDetailsService)
|
|
|
+ public AccountAuthProvider(UserDetailsServiceImpl userDetailsService)
|
|
|
throws NoSuchAlgorithmException {
|
|
|
this.userDetailsService = userDetailsService;
|
|
|
this.cryptor = new Md5Cryptor();
|
|
|
@@ -36,8 +37,8 @@ public class UsernamePasswordAuthProvider implements AuthenticationProvider {
|
|
|
User user = (User) userDetailsService.loadUserByUsername(username);
|
|
|
String encryptedPwd = cryptor.encrypt(password + user.getSalt());
|
|
|
if (!user.getPassword().equals(encryptedPwd)) {
|
|
|
- // TODO 禁用 DaoAuthenticationProvider,当前 provider 认证失败后即返回给前端
|
|
|
- throw new UsernamePasswordException("用户名/密码错误");
|
|
|
+ String errMsg = "账号或密码不正确";
|
|
|
+ throw new AccountLoginException(errMsg);
|
|
|
}
|
|
|
|
|
|
return new UsernamePasswordAuthenticationToken(user, password, user.getAuthorities());
|