大数据安全课程设计
在本次项目实践中,数据安全与合规管理至关重要。第一步,我们要着手获取适用的数据集,该数据集须涵盖至少 10 条有效数据,且字段里包含如身份证号、联系方式、财务等这类敏感信息,贴合真实业务场景中的数据特点。
拿到数据集后,立即启用高强度加密算法对其加密。同时,搭建直观的数据展示模块,方便后续查看与分析。在数据读取环节,精准抓取数据关键信息,为业务决策提供依据。尤为关键的是,系统内置专业的数据脱敏功能,脱敏展示确保敏感信息隐匿,规避隐私泄露风险;权限展示一目了然,不同角色对应不同操作权限,严守访问边界;还贴心配备误操作数据恢复功能,以防数据意外丢失。还可依据授课要点与个人创意,灵活为系统拓展功能,深挖系统潜力,全方位贴合复杂多变的大数据安全使用需求。
这次大数据安全课程设计采用了,SmartAdmin ,基于SpringBoot3+Sa-Token+Mybatis-Plus 和 Vue3+Ant Design Vue快速开发平台。
前端:JavaScript + Vue3 + Vite5 + Pinia + Ant Design Vue 4.X
后端:Java8/17 + SpringBoot2/3 + Sa Token + Mybatis-plus + mysql+redis(实现缓存)
实现功能
1.接口加解密:支持请求参数和返回内容进行加解密操作,支持国产加密算法和其他国外加密算法
2.数据脱敏:采用Hutool中的信息脱敏工具-DesensitizedUtil,对在数据处理或清洗中,可能涉及到很多隐私信息的脱敏工作,Hutool针对常用的信息封装了一些脱敏方法,直接调用DesensitizedUtil可实现脱敏
DesensitizedUtil
我们以身份证号码为例:
// 5***************1X
DesensitizedUtil.idCardNum("51343620000320711X", 1, 2);
对于约定俗成的脱敏,我们可以不用指定隐藏位数,比如手机号:
// 180****1999
DesensitizedUtil.mobilePhone("18049531999");
当然还有一些简单粗暴的脱敏,比如密码,只保留了位数信息:
// **********
DesensitizedUtil.password("1234567890");
权限控制:采用Sa-Token,一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。
Sa-Token 旨在以简单、优雅的方式完成系统的权限认证部分,以登录认证为例,你只需要:
// 会话登录,参数填登录人的账号id
StpUtil.login(10001);复制到剪贴板错误复制成功12
无需实现任何接口,无需创建任何配置文件,只需要这一句静态代码的调用,便可以完成会话登录认证。
如果一个接口需要登录后才能访问,我们只需调用以下代码:
// 校验当前客户端是否已经登录,如果未登录则抛出 `NotLoginException` 异常
StpUtil.checkLogin();复制到剪贴板错误复制成功12
在 Sa-Token 中,大多数功能都可以一行代码解决:
踢人下线:
// 将账号id为 10077 的会话踢下线
StpUtil.kickout(10077);复制到剪贴板错误复制成功12
权限认证:
// 注解鉴权:只有具备 `user:add` 权限的会话才可以进入方法
@SaCheckPermission("user:add")
public String insert(SysUser user) {
// ...
return "用户增加";
}复制到剪贴板错误复制成功123456
路由拦截鉴权:
// 根据路由划分模块,不同模块不同鉴权
registry.addInterceptor(new SaInterceptor(handler -> {
SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));
SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));
SaRouter.match("/goods/**", r -> StpUtil.checkPermission("goods"));
SaRouter.match("/orders/**", r -> StpUtil.checkPermission("orders"));
SaRouter.match("/notice/**", r -> StpUtil.checkPermission("notice"));
// 更多模块...
})).addPathPatterns("/**");复制到剪贴板错误复制成功123456789
当你受够 Shiro、SpringSecurity 等框架的三拜九叩之后,你就会明白,相对于这些传统老牌框架,Sa-Token 的 API 设计是多么的简单、优雅!
3.数据备份功能:通过cron表达式定义执行备份数据的任务
4.文件管理:记录所有的上传文件记录、支持图片预览,支持本地存储、云存储,使用 AmazonS3 云存储协议,支持所有云计算:阿里云、华为云、腾讯云、亚马逊云等等
5.意见反馈:支持反馈意见
演示
管理员账号:admin 密码:123456 访问地址:http://49.232.174.163:1024/#/login