云上办公项目总结

云尚办公系统是一套自动办公系统,系统主要包含:管理端和员工端

管理端包含:权限管理、审批管理、公众号菜单管理

员工端采用微信公众号操作,包含:办公审批、微信授权登录、消息推送等功能

项目服务器端架构:SpringBoot + MyBatisPlus + SpringSecurity + Redis + Activiti+ MySQL

前端架构:vue-admin-template + Node.js + Npm + Vue + ElementUI + Axios

核心技术

基础框架:SPRINGBOOT
数据缓存:Redis
数据库:MySQL
权限控制:SpringSecurity
工作流引擎:Activiti
前端技术:vue-admin-template + Node.js + Npm + Vue + ElementUI + Axios
微信公众号:公众号菜单 + 微信授权登录 + 消息推送

技术点:

1.MyBatis-Plus

2.权限

页面权限(菜单级)、操作权限(按钮级)、数据权限

3.JWT

JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。

一个JWT由三个部分组成:JWT头、有效载荷、签名哈希 最后由这三者组合进行base64url编码得到JWT

4.用户登录

通过用户名查询用户信息。
若用户不存在,则抛出异常。
注释掉的代码原本用于密码验证。
检查用户状态,若被禁用则抛出异常。
使用JWT生成token并返回结果。

5.获取用户菜单权限

5.Spring Security

认证”和“授权

Spring Security进行认证和鉴权的时候,就是利用的一系列的Filter来进行拦截的。

一个请求想要访问到API就会从左到右负责认证,负责异常处理,负责授权的过滤器

用户认证

Authentication,它存储了认证信息,代表当前登录用户。

我们需要通过 SecurityContext 来获取AuthenticationSecurityContext就是我们的上下文对象!这个上下文对象则是交由 SecurityContextHolder 进行管理,你可以在程序任何地方使用它:

Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

SecurityContextHolder原理非常简单,就是使用ThreadLocal来保证一个线程中传递同一个对象!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值