一个用户管理系统的学习总结提升

近日在网上找了个用户管理系统进行学习,目的是规范代码写法和学习思考需求与逻辑,更侧重于学习后端代码。

1,登录

需要对前端和后端的请求都要做效验。

Q:前端效验了还有必要进行后端效验吗?

A:有的,前端都是可以绕过的,所以在后端都要进行二次效验。

基础效验需求:登录用户名+密码

若数据库查出没有对应用户,提示其注册

注册:用户账号,密码,再次输入,验证码(暂时未实现)

账号长度限制,密码长度限制,特殊字符校验,关键字短是否为空

/**
         * 一个个用if判断很麻烦,这里使用StringUtils封装好的方法来判断
         * */
        if (StringUtils.isAnyBlank(userAccount, userPassword, checkPassword, planetCode)) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR, "参数为空");
        }
        if (userAccount.length() < 4) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户账号过短");
        }
        if (userPassword.length() < 8 || checkPassword.length() < 8) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户密码过短");
        }

登录:确认账号密码就可以。

用户中心:增删改查功能,分页查询(使用mp)的分页查询还是比较简单。

一些常见的手法:

1.自定义一个全局异常处理器,向外抛出异常

2. 封装:使返回的数据的数据类型一致化

3.业务逻辑放在service层,业务逻辑判断放在service中实现

4. 存入数据库的密码要加密,可以采用salt+密码+md5(salt的作用是混淆密码)->不用解密,md5是非对称加密

5.返回的用户信息要脱敏->新建一个safeUser(仍然是user类),传入不敏感的信息后返回

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值