Lighttpd身份验证



我有一个Linux服务器,我在其中安装了Lighttpd(1.4.28)。现在我已经为多个文件夹(13)设置了身份验证,如下所示:

auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile = "/home/.lighttpdpasswd"
auth.require = (
"/test1" =>
            (
            "method" => "basic",
            "realm" => "Password protected area",
            "require" => "user=test1"
            ),
.
.
.
"/test13" =>
            (
            "method" => "basic",
            "realm" => "Password protected area",
            "require" => "user=test13"
            ),
)

lighttpdpasswd是这样的:

test1:test1
test2:test2
test3:test3
test4:test4
test5:test5
test6:test6
test7:test7
test8:test8
test9:test9
test10:test10
test11:test11
test12:test12
test13:test13

现在,对于从1到9的文件夹,身份验证非常有效,对于10,11,。。13使用正确的凭据拒绝访问!

这是lighttpd的错误吗?还是应该添加一些参数?

lighttpd mod_auth在遍历auth.require列表时进行简单的前缀匹配。它不寻找完全的路径匹配,只寻找前缀匹配。

一个解决方法是在auth.require列表中将较长路径放在较短路径之前,因此"test10"one_answers"test11"放在"test1"之前

相关内容

  • 没有找到相关文章

最新更新