JSD-2204-单点登录-一系列小练习-Day16

1.单点登录

单点登录,即SSO(Single Sign On),表现在多个服务中,在其中某1个服务登录后,其它的服务均能识别登录的用户的身份。

单点登录的解决方案:

  • 共享Session

    • 通常,可以选择将所有Session存储在专门的Redis服务器中,其它需要验证、读取用户身份的服务,都将从此Redis服务器中访问用户的Session信息
  • Token

    • 直接记录用户身份的信息,各服务器端只需要使用共同的验证、解析机制,即可识别用户的身份

1.1在Product项目中实现授权访问

需要处理:

  • 添加spring-boot-starter-security依赖
  • 添加jjwtfastjson依赖
  • 创建Security配置类,在此配置类中:
    • 将Knife4j相关的URL设计为“白名单”
    • 允许跨域访问
    • 添加JWT过滤器
  • 创建JWT过滤器
  • 创建LoginPrincipal表示登录的当事人

2作业

2.1显示类别列表

注意:具体实现的应该是“根据父级类别,查询其子级类别列表”。

2.2添加类别

业务规则:

  • 如果选择了父级类别,且父级类别不存在,不允许添加
  • 深度(depth),由服务器端直接决定,值为:当无父级类别时,值为1,当有父级类别时,值为父级类别的深度+1
  • 是否父级(is_parent),新添加的类别,此值固定为0;如果有父级类别,且父级类别的is_parent为0时,需要更新为1

2.3删除类别

业务规则:

  • 如果数据不存在,不允许删除
  • 如果仍存在子级类别,不允许删除
  • 如果被删除的类别的父级没有更多子级,则需要将父级的is_parent更新为0
  • 如果此类别关联了品牌,不允许删除
  • 如果此类别关联了属性模板,不允许删除

2.4启用与禁用类别

业务规则:

  • 如果数据不存在,不允许启用/禁用
  • 如果数据的当前状态与目标状态相同,不允许设置
    • 例如当前为启用,目标也是启用,则不允许

2.5创建属性模板

业务规则:

  • 每个属性模板的名称必须唯一

2.6显示属性模板

2.7删除属性模板

业务规则:

  • 如果数据不存在,则不执行删除
  • 如果有“属性”数据关联到此模板,则不允许删除
  • 如果此属性模板关联了类别,不允许删除

2.8关联类别与属性模板

提示:

  • 关联这2个数据,本质上是向pms_category_attribute_template表中插入数据
  • 前端页面设计难度较大,可以暂时使用2个输入框来输入类别的id、属性模板的id

2.9添加属性

业务规则:

  • 属性模板必须存在

2.10根据属性模板id查询属性列表

2.11删除属性

业务规则:

  • 如果数据不存在,则不执行删除

2.12显示品牌列表

2.13关联类别与品牌

提示:

  • 关联这2个数据,本质上是向pms_brand_category表中插入数据
  • 前端页面设计难度较大,可以暂时使用2个输入框来输入类别的id、品牌的id

2.14删除品牌

业务规则:

  • 如果数据不存在,不允许删除
  • 如果此品牌已经关联了类别,不允许删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值