2012-07-09 73 views
2

如何對發送的每個請求執行認證過程。我目前面臨的問題是我無法訪問作爲請求參數發送的用戶數據。以下是我已經嘗試如何在中間件或預路由中添加身份驗證?

(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了。但他們都沒有工作..任何想法來訪問用戶PARAMS ..

感謝

回答

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 .. 它完美的作品..

0

桑迪

您使用的包裝PARAMS?

.. (:使用[ring.middleware PARAMS])

(DEF應用程式 ( - >(處理程序/站點主路由) (渦卷基-URL) (總結PARAMS) ))

相關問題