【仅供内部供应商使用,不提供对外解答和培训】
该文档为《跟我一起学代码》系列视频课程第三课的配套专题文档。视频课程主要向开发者介绍内网环境下的短信功能集成方法。该方法可扩展到内网下的私有化插件商城的实现。
内网短信集成:
(一)、相关链接
视频课程链接:https://bbs.fanruan.com/course-204.html
(二)、产品登录逻辑可借鉴的部分
通过用户ID获取用户的认证控制对象:
AuthenticController authenticController = ControllerFactory.getInstance().getAuthenticController( userID );
其中ControllerFactory是一个单例对象,该单例提供了诸多常用的控制器的获取方法,通过动态代理、反射等方式替换掉单例对象可以
实现对相关逻辑的干预。
根据用户的类型获取对于的认证Passport对象
FSConfig.getInstance().getPassport( OperationType );
早期版本中是不区分用户创建类型的。那么是可以直接通过
FSConfig.getInstance().getPassport();
获取到决策系统设置的认证方式的
同样的这个FSConfig也是一个单例,可以通过对他进行修改,从而实现很多配置信息的干预。
注册一种新的模板鉴权类型:
TemplateAuthType.registerTemplateAuthType(TemplateAuthType templateAuthType)
注册之后的权限类型全部保存在TemplateAuthType的Map<Integer, TemplateAuthType> typeMap这个静态成员中。
产品请求在预处理鉴权时再通过TemplateAuthType.parse(决策平台配置的模板鉴权类型编号)获取到对应的TemplateAuthType实例。
那么也就是可以通过篡改 typeMap来实现对模板鉴权的干预和修改了。
对于所有根据请求信息进行某些逻辑处理的功能,只要是能够通过修改伪造请求头、参数、body实现对功能的干预的,都可以使用请求拦截替换当前请求的方式达到目的
免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。