package com.iplatform.security.callback; import com.iplatform.base.callback.GeneralLoginCallback; import com.iplatform.model.po.S_user_core; import com.walker.web.UserPrincipal; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.crypto.password.PasswordEncoder; /** * PC端网页登录回调实现。

* 用户名密码登录方式回调实现。 * @author 时克英 * @date 2023-01-26 * @date 2023-01-28 用户名、密码方式登录的回调实现。 * @date 2023-04-07 重构名字为'明文密码'登录回调实现。参考:{@linkplain EncryptPasswordLoginCallback} */ public class SimplePasswordLoginCallback extends GeneralLoginCallback { @Deprecated @Override public Object[] queryLoginUser(String loginId) { return this.userService.queryLoginUser(loginId, false); } @Override public boolean validatePassword(UserPrincipal userPrincipal) { Authentication usernamePasswordAuthenticationToken = SecurityContextHolder.getContext().getAuthentication(); String password = usernamePasswordAuthenticationToken.getCredentials().toString(); logger.debug("用户输入:" + password + ", " + userPrincipal.getPassword()); return this.passwordEncoder.matches(password, userPrincipal.getPassword()); } public void setPasswordEncoder(PasswordEncoder passwordEncoder) { this.passwordEncoder = passwordEncoder; } protected PasswordEncoder passwordEncoder = null; }