我開始使用luminus框架來開發一個web應用程序,並且我正嘗試使用朋友進行身份驗證,我在這裏堆疊,我不知道如何在rails應用程序中使用gem。 我不知道我應該把代碼放在luminus中,有沒有人可以給我演示。或者告訴我下一步該做什麼? 那麼,你也可以告訴我如何在luminus中寫入日誌功能。如何在luminus中編寫登錄功能或使用朋友?
5
A
回答
0
下面是一個例子,當我做了一個luminus +朋友組合,他們已經多次改變模板,所以這是來自舊版本,但概念相同,我希望它有幫助。
(def all-routes
[home-routes cljs-routes test-routes app-routes])
(def app
(-> all-routes middleware/app-handler))
(def secured-app
(handler/site
(friend/authenticate app{
:login-uri "/login"
:unauthorized-redirect-uri "/login"
:credential-fn (partial creds/bcrypt-credential-fn users)
:workflows [(workflows/interactive-form)]})))
(def war-handler
(middleware/war-handler secured-app))
2
登錄排序工作就像張貼在Luminus Docs。不知道您是否設法閱讀該部分,但我會向您展示我使用的代碼的簡化版本。我想提到的是,我刪除了一些代碼,使所有內容更容易理解,所以這可能無法正常工作,因爲我只刪除了代碼和額外的parens。由於它是從實際工作的代碼,它會帶着幾分tweeking的工作:
第一部分是讓登錄表單:
(defn login-page []
(html5
[:h3 "Login"]
[:form {:method "POST" :action "login"}
[:div "Username:"
[:input {:type "text" :name "username" :required "required"}]]
[:div "Password:"
[:input {:type "password" :name "password" :required "required"}]]
[:div
[:input {:type "submit" :value "Log In"}]]]]))
注意,有一個「POST」的方法?爲了讓路線起作用,你必須有一個「POST」路線,但你也需要一個「GET」路線。這是「GET」,「POST」循環的簡化版本,我有:
(defroutes app-routes
(GET "/login" []
(log/login-page))
(POST "/login" [username password]
(do-login username password)))
的(DO-登錄)功能,在那裏我驗證用戶/密碼組合,然後設置會話,這是如下所示。
請注意,POST路由需要參數。參數必須與表單中的「名稱」參數匹配。
最後,要完成所有工作,您必須連接一些會話。我個人使用LIB-noir.sessions:
(ns myapp.handler
(:require [noir.session :as sesh])
,那麼你必須創建一個映射舉行會議,這我在這裏包裝的功能(注意:關鍵必須比賽不管你有在你的數據庫:
(defn set-user [username]
(sesh/put! :handle username))
最後,你要告訴你要允許會話通過中間件來處理的Clojure:
(def app
(sesh/wrap-noir-session
(handler/site
app-routes)))
Hopefu這讓你有點頭痛。我沒有包括如何連接到數據庫或如何使用地圖,但上面的內容應該足以讓您順利進行。我也沒有觸及授權和安全(請不要跳過這個!)。使用數據庫,地圖或朋友並不是一個巨大的飛躍。只是想提供足夠讓你開始。
相關問題
- 1. 如何使用朋友功能或朋友類?
- 2. 如何在IOS中獲取登錄用戶的朋友的朋友列表6
- 3. C++ - 朋友功能
- 4. 如何編寫DataFrame友好功能
- 5. 如何獲得使用活動記錄的朋友的朋友?
- 6. 爲朋友功能使用聲明
- 7. 如何通過朋友功能調用私人功能?
- 8. 朋友功能問題
- 9. 朋友和繼承功能
- 10. Facebook - 推薦朋友功能
- 11. 朋友功能和模板
- 12. F#朋友功能/類
- 13. 如何使用本地類的朋友功能?
- 14. 朋友功能不起作用
- 15. 什麼是php中的朋友功能?
- 16. 如何在C++中爲朋友功能提供保護
- 17. 如何在Objective-C中缺乏「朋友」功能?
- 18. 如何在PHP中添加朋友/拒絕功能?
- 19. 如何獲取使用PHP登錄的用戶在Facebook的朋友列表?
- 20. 如何獲取登錄用戶的朋友組的牆上料?
- 21. Facebook登錄的朋友列表權限
- 22. 登錄時獲取Facebook朋友列表
- 23. 如何爲Steam openid登錄和授權功能編寫Rails API?
- 24. Graph-Traversal:我如何使用Gremlin查詢「朋友和朋友的朋友」
- 25. Oracle SQL如何編寫驗證用戶是否在我的網絡(即朋友或朋友的朋友)的sql語句
- 26. 使用Python編寫的朋友算法需要在Fortran 90/95
- 27. 如何獲取用戶朋友中的每一個朋友的朋友數?
- 28. 如何從twitter使用Asp.NET檢索朋友朋友列表?
- 29. 如何使用Facebook API獲取朋友的朋友?
- 30. 如何使用Graph API在我們的朋友列表中搜索FB朋友
那麼,這是有幫助的我認爲,我可以使用java方式編寫,或ruby方式,我只是不在框架中的代碼如何互相交互。 –
我只能說,不要過分考慮它。 – dizzystar
你可以給一些演示看到完全的代碼?關於渲染一個表單,我對你的部分沒問題,我對會話部分感到困惑。我只是不明白。中間件處理會話有必要嗎? –