访问控制
来者是谁 - 能做什么 - 做了什么
- 来者是谁:身份认证。如,B 端还是 C 端
- 能做什么:权限认证(403)
- 基于角色。如大编、小编、管理员
- 基于资源。如self、account;可读、可更新、可删除
- 做了什么:日志收集
表单 Error 的设计
- 服务端
- 全局码:如果用 HTTP 的话,就用 HTTP 状态码
- 结构:map,一次性返回所有错误
- 错误码:文字码,明确易懂,找 cannotBeBlank
- 错误信息:message 尽量复用
- 前端
- 一次性显示所有错误:这就要求服务端一次性返回所有错误
- 统一处理:这就要求服务端返回错误码,标识错误类型
{
"message": "Bad request",
"errors": {
"field1": {
"code": "required",
"message": "cannot be blank"
}
}
}
查问题方法论
- 一定要有对照
- 单一因子原则
- 平行重复原则
并发处理
一般 couont 放在文档上,然后:
- 原子操作(事务)
- 乐观锁:先做,再比对;对的上成功,否则失败。
- update 后检查 nModified,0 则失败,1 则成功;再去操作
- 悲观锁(排他锁):先拿到锁,再操作,最后释放
- 一定要有超时机制
框架:
- 统一的权限认证
- 统一的错误处理
- 统一的日志收集
网友评论