3

我对clojure相当陌生,我正在尝试将身份验证系统添加到compujure应用程序中,为此我正在使用cemerick.friend。

所有路线都运行良好,但我永远无法登录,即使使用内存数据库中的虚拟(如果你可以这样称呼它)。

我相信问题出在 上cemerick.friend.credentials/bcrypt-credential-fn,它永远不会验证我的凭据。

以下是相关代码的要点:https ://gist.github.com/zamith/5940965

关于如何解决这个问题的任何帮助都会很好。

谢谢。

4

1 回答 1

4

您想workflows/interactive-form在当前指定的位置使用workflows/interactive-login-redirect.

后一个函数的目的是作为默认值:login-failure-handler。它所做的是在登录尝试失败后执行重定向;它当然不会尝试登录用户。

您还需要从路由中的表单(resp/redirect "/signup")正文中删除,因为它无条件地将登录用户重定向到注册页面。(发生重定向实际上证明了用户已通过身份验证,因为否则将不会评估主体,并且代码中没有其他任何内容可能导致重定向到.)friend/authenticated"/dashboard"friend/authenticated"/signup"

通过这两个更改,该应用程序适用于我。

于 2013-07-07T03:57:26.630 回答