★背景
登录认证模块和权限控制模块打算选择shiro来做。
系统目前没有操作日志,有时候定位问题的时候难以定位,不知道是谁误操作了。
★概要设计
设计目标新登陆,权限,操作日志模块设计
系统敏感信息【例如密码】安全加密传输,杜绝用户越权访问的操作【包括操作权限和数据权限】,能够跟踪用户的操作轨迹,记录菜单功能使用情况,后端方法耗时。
总体思路
登录认证:包括web端的登录和小程序端的登录,大体思路都是检查用户名密码决定是否登录成功
session处理:web端交由shiro控制,小程序端无session处理,自己处理用户过期问题【小程序没有Cookie,对session不好处理】
权限控制:包括前端权限和后端权限,前端权限在登陆成功之后缓存起来,后端权限用redis做缓存。
操作日志:用户页面上点击菜单或者按钮,记录用户的基本信息以及IP等,保存在数据库
流程图
微信端登陆认证:
★详细设计
一,登陆认证模块开发设计
1.web端登陆
①在web端的index页面,从后台获取RSA加密需要的publicKey【加密密码用】,输入用户名密码点击登陆,将用户名和密码【密文传输】传到后端。
注意:RSA加密的时候是在加载index页面的时候获取的publicKey,所有的用户对应