# 商采通API接口V2.0

# 1 变更

# 1.1 请求头

# 1.1.1 增加prod_type

产品英文名称(后台枚举类) 产品名称 prod_type token-key
SCT_CUSTOMER_APP 商采通买家版APP 10 sca_token
SCT_MANAGER_APP 商采通总后台管理APP 11 sma_token
SCT_MANAGER_WEB 商采通总后台管理web 12 smw_token
SCT_CUSTOMER_WEB 商采通商城web 13 scw_token
SCT_SELLER_APP 商采通商家版APP 14 ssa_token
SCT_SELLER_WEB 商采通商家版web 15 ssw_token

# 1.1.2 修改token的key

  • 商采通总后台管理APP的「 token 」修改为「 sma_token 」

  • 商采通买家版APP的「 token 」修改为「 sca_token 」 ( 前端暂缓,待后台移植合并原买家APP接口完成 )

# 1.2 接口地址

1.2.1 统一调整前缀

  • 【商采通总后台管理APP】原地址「 /API/APP/ 」 修改为 「 /API/ 」(去掉APP)

    如:/API/APP/order/getAfterSaleOrder 将变更为 /API/order/getAfterSaleOrder

    目前后台服务端解析不同的调用端,用prod_type字段

  • 【注意】后台升级APP的接口, 原地址为 「 /API/APP/appUpdate/** 」 不修改。

1.2.2 修改登录接口

  • 与登录有关的几个接口,将前缀 /API/APP/login/ 修改为 /API/login/app/ ( 具体可参考swagger-ui接口文档 )
接口名称 原Url 变更后Url
登录-修改密码 /API/APP/login/modifyPassword /API/login/app/modifyPassword

# 2 机理

目前后台服务前台调用端的session,统一用shiro管理,对请求request用shiro的过滤器管理拦截、转发。

后面有空再补充。

2.1.1 登录管理

# 3 拦截器

# 3.1 Shiro

简写
(加粗为常用)
名称 优先级 (1为最高) 说明 对应Java类
anon 匿名拦截器 1 不需要登录就能访问,一般用于静态资源,或者移动端接口 org.apache.shiro.web.filter.authc.AnonymousFilter
authc 登录拦截器 2 需要登录认证才能访问的资源 org.apache.shiro.web.filter.authc.FormAuthenticationFilter
authcBasic Http拦截器 3 Http身份验证拦截器,非常用类型,不太了解 org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter
logout 登出拦截器 4 用户登出拦截器,主要属性:redirectURL退出登录后重定向的地址 org.apache.shiro.web.filter.authc.LogoutFilter
noSessionCreation 不创建会话拦截器 5 调用 subject.getSession(false) 不会有什么问题,但是如果 subject.getSession(true) 将抛出 DisabledSessionException 异常 org.apache.shiro.web.filter.authc.NoSessionCreationFilter
prems 权限拦截器 6 验证用户是否拥有资源权限 org.apache.shiro.web.filter.authc.PermissionsAuthorizationFilter
port 端口拦截器 7 其主要属性: port(80) 如果用户访问该页面是非 80,将自动将请求端口改为 80 并重定向到该 80 端口 org.apache.shiro.web.filter.authc.PortFilter
rest rest风格拦截器 8 rest 风格拦截器,自动根据请求方法构建权限字符串构建权限字符串;非常用类型拦截器 org.apache.shiro.web.filter.authc.HttpMethodPermissionFilter
roles 角色拦截器 9 验证用户是否拥有资源角色 org.apache.shiro.web.filter.authc.RolesAuthorizationFilter
ssl SSL拦截器 10 只有请求协议是https才能通过,否则你会自动跳转到https端口(443) org.apache.shiro.web.filter.authc.SslFilter
user 用户拦截器 11 用户拦截器,用户已经身份验证 / 记住我登录的都可; org.apache.shiro.web.filter.authc.UserFilter