java 项目登录请求业务解耦模块全面
登录是统一的闸机;
密码存在数据库中,用的是密文,后端加密,和数据库中做对比
1、UserController
public class UserController{@Autowiredprivate IuserService userservicepublic JsonResult login(@Validated @RequestBody UserLoginParam loginParam){userservice.login(loginParam);return JsonResult.ok();}
}
2、IuserService
public interface IuserService{UserLoginVO login(UserLoginParam userloginParam);
}
3、UserServiceImpl
public class UserServiceImpl implements IuserService{//这里处理业务逻辑登录的流程:1、验证用户名 成功继续,失败报错 用户名密码不匹配2、验证密码 成功继续,失败报错 用户名密码不匹配3、判断用户状态(是否用户被禁用、拉黑)4、生成token5、重复登录(我直接踢掉,刷新token)6、登录日志(设备切换,登录地区,ip,设备信息,时间)@Overridepublic UserLoginVO login(UserLoginParam userloginParam){return null }
}