# 商采通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 |