我一直在阅读什么似乎是一个很好的教程rest based authentication。Htaccess - Http验证 - 为什么这个块给我造成500错误?
我想使用此作为访问网站cms(持有可访问的web根目录)的补充。
如同在什么时候使用cms索引,我希望使用这种基本的认证形式。一旦用户导航到任何部分,我的默认php身份验证系统就会启动,因此某些用户只能访问cms中的某些功能。
我不明白什么,虽然,这就是为什么下面的代码块,当放在我的.htaccess文件,使整个网站产生500错误...
<Files .login>
AuthType Digest
AuthNAme "Authentication Required"
AuthDigestFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
</Files>
我已经试过一个类似的试验使用基本访问功能,但决定这种方法会更安全一些,作为补充。而我使用apache的htpasswd.exe程序来创建一个.htpasswd文件,我可以使用它来验证基本访问。这工作正常,但我无法弄清楚如何通过.htaccess文件将这种类型的身份验证应用于cms索引。
我已经开始创建一个文件,使用apache的htdigest.exe程序创建一个名为.htdigest的文件。
其内容如下:
testUser:Authentication Required:cd7h62051449100elk3c463eae6251f5
现在,这一切成立,我已按照提到条每页的指示,努力实现,即一旦用户点击了一个实例一个带有href属性“.login”的链接,它们直接指向我的cms(auth required)。这是交代由作者:
所以没有.login文件,它只是将触发 身份验证,因为访问该网址要求用户是 认证的URL。
现在,出于某种原因,当我尝试加载在我的网站的任何页面,此块在.htaccess,我得到一个500错误,当我实际上应该得到验证框?
但这是我很困惑,因为我相信这块将只能与“在.login的” href的链接用户点击的情况下的效果...
我还没有添加当认证有效时,进一步的块将用户引导到索引页面,只有这个块和作者提到的两个附加块。
有人能够解释是什么导致了这种反应?
服务器error_log说什么? – jcmeloni 2012-01-29 16:19:59
这是一个Windows或Linux服务器?你提到“htpasswd.exe”这听起来像Windows,但AuthDigestFile路径看起来像一个Linux路径。另外,如果它是一个Linux服务器,文件是否在正确的位置? – 2012-01-29 16:22:17
命令'AuthDigestFile'无效,可能是拼写错误或由未包含在服务器配置中的模块定义,引用者:http://www.myDomain.com /' – 2012-01-29 16:24:24