一. SpringSecurity权限控制
1. 用户授权-> 获取令牌-> 网关鉴权-> 登录角色的权限控制-> JWT自定义数据(角色+权限)-> 访问资源微服务-> 判断令牌的数据-> 普通用户/管理员用户
(1). 用户权限加载: com.changgou.user.oauth.config.UserDetailsServiceImpl.java
//创建User对象 String permission = "salesman, accountant, user";
(2). User微服务: com.changgou.user.config.ResourceServerConfig.java
//开启SpringSecurity的权限注解 激活方法的@PreAuthorize @EnableGlobalMethodSecurity(prePostEnabled=true, secureEnabled=true)
(3). 用户登录携带角色信息 com.changgou.user.controller.UserController.java
@PreAuthorize("hasAnyAuthority(accountant)") //必须携带权限
二. 购物车流程
1. 京东: 用户未登录-> 添加购物车-> 数据保存到coolie-> 用户登录后-> 数据保存到redis
2. 天猫: 用户登录后-> 添加购物车-> 存到redis
3. 实现思路: 用户点击添加购物车-> 传入商品SKU和数量-> 存入redis-> 查询购物车->返回redis数据
4. 组成:
(1). 表: tb_order_item
(2). 添加购物车-> 订单微服务-> feign调用-> 商品微服务
(1) changgou_service_goods_api中: com.changgou.goods.feign.SkuFeign.java /*** * 根据ID查询数据 * @param id * @return */ @GetMapping("/sku/{id}") public Result<Sku> findById(@