SpringCloud商城day10 购物车-2021-10-18

本文详细介绍了SpringSecurity在SpringCloud商城中的权限控制,包括用户授权、令牌验证和角色权限管理。同时,讨论了购物车的流程,如未登录用户数据保存到cookie,登录后转存redis。此外,还涵盖了购物车渲染服务如何调用order微服务获取数据并使用Thymeleaf渲染。最后,讲解了微服务间的认证访问,包括Feign调用和JWT令牌的使用。
摘要由CSDN通过智能技术生成

一. 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(@
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值