我已经使用Ring Basic Authentication为我的应用程序设置了http基本身份验证。它工作得很好,看起来像这样:

(:require [noir.server :as server]
...
(server/add-middleware wrap-basic-authentication authenticated?)

认证?是我自己的功能实现。现在我只想将应用程序的一部分配置为基本身份验证,而将另一部分配置为公共。我知道这个can be done与环(和复合)所以它必须有可能与黑,是建立在环。我只是不太确定如何应用the example是否适合于noir,因为它使用的是路由,我不知道如何才能使用noir中的路由。有什么想法吗?

最佳答案

noir的问题是,路由是在幕后管理的,您根本无法做任何事情来更改它们与中间件等的绑定方式。noir对于复杂的中间件场景从来都不是一个很好的匹配,而且现在它已经被弃用了,这一点更加正确。这可能不是你想听的答案,但我强烈建议你改用compojure。如果您正在寻找一个包含电池的东西,请查看luminus leiningen template以生成一个包含电池的web应用程序,其中包含compojure、lib noir和各种其他的好东西。

10-04 13:26