目录

企业级MA Filter

1)理解Filter

Filter,字面上的意思就是过滤器,在企业版MAServer中提供了设置 filter 的机制。在服务请求的过程中,在从企业版 MAServer到业务服务的请求过程中,Filter可以插入服务的前后拦截事件。具体的插入先后顺序为:

app-request-filter —>request-filter —>业务服务—>response-filter—> app-response-filter。

2)配置说明

配置文件为confconfigureappidmafilter.xml。有四种类型

  • app-request-filter:针对某个应用的请求的
  • filter request-filter:针对服务的某个请求的
  • filter app-response-filter:针对某个应用的响应的
  • filter response-filter:针对某个服务的响应的 filter

下面分别进行说明:

app-request-filter:当对该 app 进行请求操作的时候,在具体业务操作之前进行该 filter 处理。

  • 需要实现该接口:com.yonyou.uap.um.filter.IMaRequestFilter。
    app-response-filter:会在对 app 的业务操作执行后进行处理的 filter。

  • 需要实现的接口: com.yonyou.uap.um.filter.IMaResponseFilter。
    request-filter:会对该 app 的请求的服务进行过滤,在服务进行之前,

  • 需要实现的接口: com.yonyou.uap.um.filter.IMaRequestFilter。
    response-filter:会对该 app 的请求服务进行过滤,是在业务服务执行之后进行。

  • 需要实现的接口: com.yonyou.uap.um.filter.IMaResponseFilter。
    blob.png

3)代码说明

req参数是http请求对象,paraMap是设备端传入MA的参数Map.

可以在这里对应用服务进行校验,例如在处理服务之前对用户名和密码进行校验操作

  1. public class AppLoginFilter implements IMaRequestFilter{
  2. @Override
  3. public void requestFilter(HttpServletRequest req, Map<String, Object> paraMap) throws MaFilterException {
  4. //校验处理。若校验失败,抛出异常即可
  5. }
  6. }
文档更新时间: 2018-01-16 10:05