middlewares


HAS内置的middlewares

hlockermw

hlockermw是用于锁定账号的middleware,其依赖于hmemcacheplugin

使用

hsessionmw

hsessionmw是用于session拦截的middleware,其依赖于DatabasePluginMemCachePlugin

使用

hpermmw

hpermmw是一个权限控制的middleware,通过perms.json的条件对api进行限制

使用

创建一个middleware/permfuncs.go的文件和perms.json

现在,我们假设需要对test接口拦截,要求参数name不能为HAS,且change参数不能为false,那么我们需要修改代码如下

完成后按照相关要求访问即会被拦截

{
    "data": {},
    "error": {
        "code": 202,
        "desc": "unauthorized access",
        "fingerprint": "d27d51929bd4d48f512f717e2e28eb73",
        "cause": "request forbidden by middleware"
    }
}

自定义middleware

修改内容

完成后重启,访问任意接口,即可看到对应的log