package com.imutil.service; import com.imutil.entity.AdminUser; /** * 管理后台用户服务 *
* 登录校验(PBKDF2)+ 首次启动默认管理员初始化。 * * @author imutil */ public interface AdminUserService { /** * 登录校验 * * @return 凭证正确且账号启用返回 AdminUser,否则 null */ AdminUser login(String username, String password); /** * 应用启动时确保存在至少一个管理员(表空则按 app.yml imutil.admin 初始化) */ void ensureDefaultAdmin(); /** * 修改当前登录用户密码 *
* 校验原密码(PBKDF2 verify)+ 新密码合规(≥ 8 位且与原密码不同)后写新 hash。 * * @param userId 用户ID * @param oldPassword 原密码(明文) * @param newPassword 新密码(明文,需 ≥ 8 位且与原密码不同) * @throws com.imutil.common.BizException 原密码错误 / 新密码不合规 / 用户不存在 */ void changePassword(Long userId, String oldPassword, String newPassword); }