java技术选型文档模板_系统方案汇总文档
权限系统设计方案汇总
1、概述
该文档主要阐述权限系统设计方案
2、目的
1)总结系统运用到的技术方案;
2)用于指导该系统后台人员开发工作。
3、系统设计
3.1 架构设计
系统业务不复杂,主要是CRUD(增删改查)操作,所以采用单体架构,就能满足当前系统需求。
系统技术架构图,如下:
3.2 框架选择
采用现今最流行、最成熟的springboot框架,springboot框架的优势在于现今市场上拥有较多的最佳实战案例,架构稳定,团队成员均对该框架比较熟悉,无需增加额外的学习成本,而且开发效率高。
3.3 负载均衡
通过Nginx+keepalive实现负载的高可用、可扩展、可伸缩。
3.4 token
采用jwt框架,进行token生成、分发、检验。
3.5 请求方式
http/https+post
3.6 数据库设计
除了基础表(用户表、角色表、权限表、角色权限表),另设计多一张表——操作记录表,操作记录表记录用户对系统的操作行为,达到跟踪、定位异常操作行为的目的。
3.7 安全监控
当前系统设计了操作记录表,记录用户的操作行为,后期可以使用ELK(ElasticSearch、Logstash 和 Kibana)框架,通过分析、统计日志监控用户的操作行为,达到双重监控,稳如狗。
4、安全设计
4.1 ip白名单
系统对接入端报备ip,作为接入端部署服务器身份认证。
4.2 防篡改
使用HMACSHA1签名算法,对请求数据作签名检验,达到数据防篡改的目的。
4.3 防幂等请求
去除请求参数requestTime,对请求参数重新生成签名,并设计一定的搁值缓存到redis,每次请求查看redis该签名是否存在,若不存在,持续跑下面的业务流程,若存在,不在走下面的流程,直接返回已经缓存的response。
4.4 防重复请求
略 (同防幂等请求一样的实现方式)
4.5 身份认证
系统对每次请求都返回token值,接入端下次请求需带上该token,作为接入端和系统当前会话身份认证,还作为当前会话的时效性认证。
4.6 防枚举攻击
本系统中,常见的枚举攻击情况有两种:
1)、固定账号,枚举密码攻击;
2)、固定密码,枚举账号攻击。
系统使用redis记录登录失败时账号或密码的使用次数,当账号或密码的使用次数达到设定的搁值,系统将冻结该账号或密码1小时(该值可配置)。
4.7 防SQL注入
由于SQL注入攻击只能对编译过程起作用,系统引入MyBatis持久层框架,通过MyBatis预编译功能,自动实现防止SQL注入。
4.8 XSS过滤
用户在做增、改操作时,对请求参数进行XSS过滤,防止系统受到XSS攻击。
5、监控运维
6、上线方案
java技术选型文档模板_系统方案汇总文档相关推荐
- Java计算机毕业设计水果商城源码+系统+数据库+lw文档
Java计算机毕业设计水果商城源码+系统+数据库+lw文档 Java计算机毕业设计水果商城源码+系统+数据库+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea ...
- java计算机毕业设计库存管理系统源码+系统+数据库+lw文档+mybatis+运行部署
java计算机毕业设计库存管理系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计库存管理系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...
- 基于Java毕业设计宠物领养管理系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计宠物领养管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计宠物领养管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开 ...
- 基于Java毕业设计中医药科普网站源码+系统+mysql+lw文档+部署软件
基于Java毕业设计中医药科普网站源码+系统+mysql+lw文档+部署软件 基于Java毕业设计中医药科普网站源码+系统+mysql+lw文档+部署软件 项目架构:B/S架构 开发语言:Java语言 ...
- 基于Java毕业设计中山学院教室管理系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计中山学院教室管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计中山学院教室管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S ...
- 基于Java毕业设计毕业生论文管理系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计毕业生论文管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计毕业生论文管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 ...
- 基于Java毕业设计校园跑腿平台源码+系统+mysql+lw文档+部署软件
基于Java毕业设计校园跑腿平台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计校园跑腿平台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- java计算机毕业设计网上花店源码+系统+数据库+lw文档+mybatis+运行部署
java计算机毕业设计网上花店源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计网上花店源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈: 项目架构:B ...
- 基于Java毕业设计大学生兼职平台源码+系统+mysql+lw文档+部署软件
基于Java毕业设计大学生兼职平台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计大学生兼职平台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语 ...
- java mysql基于SSM宠物寄养中心系统源码+文档
活动地址:毕业季·进击的技术er 博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 java mysql基于SSM宠物寄养中心系统源 ...
最新文章
- 浅谈MyBatis二级缓存
- JAVA四则运算(读写文件)
- 【HDU - 5585】Numbers (水题,数学,数论)
- poj 1005 I Think I Need a Houseboat
- java课程设计学生信息管理_JAVA课程设计---学生基本信息管理系统
- 文本自动摘要任务的“不完全”心得总结
- dll封装成activex控件_Qt编写自定义控件26-平铺背景控件
- 软件生成问候图片_设计师注意啦!欧美风双色图片一键生成的软件来啦!
- 见证人人的衰落,讲一句活该
- php图片加边框,PHP 给图片加边框
- 网站被攻击了怎么办?
- chrome下载速度慢,提高下载速度
- 绿色全要素生产率数据(2004-2017年)
- 确定sw1开关信号输入端口_MEMS光学器件— MEMS OXC(光交叉互连开关)
- pythonmathcot函数_math库是python语言的数学模块吗_Python中的数学模块:Math和Cmath
- 幼儿园案例经验迁移_2020年幼儿园中班教育笔记 生活经验的迁移
- python数据库分层设计_基于Python的高中教学数据库设计
- permutation importance
- 评测:Logitech ConferenceCam CC3000e-一款出色的摇摄变焦摄像头和扬声器,适合远程工作者使用
- 20221024 今天的世界发生了什么