2

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

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

认证?是我自己的功能实现。现在我只想将应用程序的一部分配置为进行基本身份验证,而将其他部分配置为公开。我知道这可以用 Ring(和 Compojure)来完成,所以它必须可以用基于 Ring 的 Noir 来完成。我只是不太确定如何应用该示例以适应 Noir,因为它使用路线,我不知道如何才能到达 Noir 中的那些。有任何想法吗?

4

1 回答 1

3

Noir 的问题在于,路由是在后台管理的,您根本无法做任何事情来改变它们与中间件等的联系方式。Noir 从来都不是复杂的中间件场景的好搭档,现在它已经被弃用了。这可能不是您想听到的答案,但我强烈建议您改用 Compojure。如果您正在寻找包含电池的东西,请查看luminus leiningen 模板,用于生成包含 Compojure、lib-noir 和各种其他好东西的包含电池的 Web 应用程序。

于 2013-01-07T07:21:14.957 回答