Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 如何在中间件或预路由中添加身份验证?_Clojure_Middleware_Noir - Fatal编程技术网

Clojure 如何在中间件或预路由中添加身份验证?

Clojure 如何在中间件或预路由中添加身份验证?,clojure,middleware,noir,Clojure,Middleware,Noir,如何对发送的每个请求执行身份验证过程。我目前面临的问题是无法访问作为请求参数发送的用户数据。这是我试过的 (pre-route[:any "/mainpage/*"] {:keys[data]} (when (not(contains? data "userid")) //false response ) ) 以及中间件 (defn for-auth [handler] (fn [req] (if (contains? (:body (:params req)))

如何对发送的每个请求执行身份验证过程。我目前面临的问题是无法访问作为请求参数发送的用户数据。这是我试过的

(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 {})
    )
   )
)
我还加上了中号的。但是这两个都不起作用。。想访问用户参数吗

谢谢你,桑迪

你在用包裹参数吗

。。 (:使用[ring.params])

(def应用程序 (->)(装卸工/现场主要路线) (换行基本url) (包裹参数))

桑迪

你在用包裹参数吗

。。 (:使用[ring.params])

(def应用程序 (->)(装卸工/现场主要路线) (换行基本url)
(wrap params))

好的,这是我所做的,它解决了我的问题

(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。。
它工作得很好。

好的,这就是我所做的,它解决了我的问题

(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。。 它工作得很好