Authentication 如何将friend与compojure一起使用?

Authentication 如何将friend与compojure一起使用?,authentication,clojure,compojure,Authentication,Clojure,Compojure,我是clojure的新手,我正在尝试向compujure应用程序添加身份验证系统,为此我使用了cemerick.friend 所有的路由都工作正常,但我永远无法登录,即使使用内存中的虚拟数据库(如果可以这样称呼的话) 我相信问题出在cemerick.friend.credentials/bcrypt credential fn上,它永远不会验证我的凭据 以下是相关代码的要点: 任何关于如何解决这个问题的帮助都会很好 谢谢。您想在当前指定工作流/交互式登录重定向的位置使用工作流/交互式表单 后一个

我是clojure的新手,我正在尝试向compujure应用程序添加身份验证系统,为此我使用了cemerick.friend

所有的路由都工作正常,但我永远无法登录,即使使用内存中的虚拟数据库(如果可以这样称呼的话)

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

以下是相关代码的要点:

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


谢谢。

您想在当前指定
工作流/交互式登录重定向的位置使用
工作流/交互式表单

后一个函数的用途是充当默认的
:登录失败处理程序
。它所做的是在登录尝试失败后执行重定向;它当然不会尝试让用户登录

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


有了这两个更改,该应用程序对我有效。

我尝试了
工作流/交互表单
,但它不起作用,这就是为什么我更改了它,然后又忘记将其更改回来。简单地说,我想用用户名
root
和密码
admin\u密码登录,但我不能。知道为什么吗?嗯,你没有把所有相关的代码都包括在要点中。首先,您的登录表单是什么样子的?好的,问题实际上是在处理程序名称空间中;在早些时候阅读时错过了它。我已经更新了答案。我已经做了两个更改,现在当我尝试登录时,我会重定向到主页,而我希望它打印“Hello”。我怎样才能做到这一点?我已经更新了要点中的代码。将
:传递给
朋友/authenticate
的选项中的默认登录uri更改为
“/dashboard”