大数据安全课程设计

在本次项目实践中,数据安全与合规管理至关重要。第一步,我们要着手获取适用的数据集,该数据集须涵盖至少 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


大数据安全课程设计
http://example.com/2024/12/31/大数据安全课程设计/
作者
Tingfeng
发布于
2024年12月31日
许可协议