登录注册模块: 登录:使用阿里云短信服务, 用户点击发送短信将短信缓存于 redis,缓存 key 为 UUID,value 为短信码。并 设置缓存时间 60 秒。并将 UUID 发送给前端页面。点击登录时,根据 UUID 获取缓存中验证码和传递的进行比较,如果存在说明验证码正确。再进行下一步的登录验 证。注册:使用 ajax 进行用户名验证, 给文本框绑定 onblur 事件,当光标离开发送异步请求,如果用户名存在给出 提示,提高用户的体验。js 正则表达式进行页面验证,使用第三方验证码进行防止用户恶意攻击。密码进行 2 次 MD5 加密,保障用户账户安全。注册成功后通过 location.href 进行页面跳转。
权限管理模块: 权限基于 RBAC 模型, 主要涉及 5 张表、用户表,角色表,用户角色表,权限表,角色权限表。其中用户角色,角 色菜单使用多对多设计。授权:选择任一角色,点击授权,发送 ajax 加载菜单数据显示于 ztree,并缓存菜单数据。勾选对应的权限,使用批处理给角色添加权限。修改权限先删除角色对应的权限再批处理添加权限,使用事务传 播特性确保修改操作的完整性。赋予权限后,根据多表关联查询出角色对应的权限,让 ztree 勾选对应的权限。
实训教育模块: 主要功能点是专业人士与实训人员的互动。专业认证人士可以分享旅行职业知识,实训人员可以查看并进行 评论。实训人员评论会获取旅行职业知识的 id,实训人员 id、姓名与评论内容,传递到后台,后台加入评论时间 后存入对应的数据表。加载旅行职业知识时,通过旅行职业知识的 id 去数据表查找出所属评价,存入集合通过 response 传递到前台用 JSTL 标签循环输出展示。
用户管理模块: 该模块是对用户的展示统计,导入导出,审核派发,整体模块采用了 MVC 思想实现,前端通过 AJAX 数据异 步传递完成对用户信息展示和统计,通过 POI 对新审核完毕的用户进行导入,以及导出用户信息统计表,实现纸 质存档,并与管理员的工作记录进行挂钩,来实现对管理员工作记录的录入与导出。管理员在负责对本月需要完成的用户信息和用户数量进行分派,完成对用户所提出的问题和进度进行记录, 使用 Spring AOP 实现日志管理,并且使用 log4j 记录系统日志。