如何对发送的每个请求执行身份验证过程。我目前面临的问题是我无法访问作为请求参数发送的用户数据。这是我试过的
(pre-route[:any "/mainpage/*"] {:keys[data]}
(when (not(contains? data "userid"))
//false response
)
)
和中间件
(defn for-auth [handler]
(fn [req]
(if (contains? (:body (:params req)))
(handler req)
(handler (assoc req :body {})
)
)
)
我也添加了middlware。但他们都没有工作..任何访问用户参数的想法..
由于
答案 0 :(得分:0)
距
你在使用包裹参数吗?
.. (:使用[ring.middleware params])
(def app ( - >(处理程序/站点主路由) (总结基-URL) (总结PARAMS)))
答案 1 :(得分:0)
好的,这就是我所做的,它解决了我的问题..
(pre-route [:any "/mainroute/*"] {{:keys [jsondata]}:params}
(let [data (httputil/parse-json-data jsondata)]
(cond
(not (true? valid_req)) "false"
(not (true? version_check)) "false"
(not (true? user_valid)) "false"
)
)
)
这里我已经在中间件中解析了我的json数据,并将其添加到了“params”,其密钥名称为:jsondata .. 它完美地运作..