我一直在阅读rest based authentication上看起来很好的教程。
我正在尝试将此作为访问网站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
现在,通过所有这些设置,我按照上述artice中的说明,尝试实现一个实例,一旦用户点击其中带有href属性“.login”的链接,它们将被定向到我的cms(需要auth)。这是作者的解释:
所以没有.login文件,它只是一个会触发的URL 身份验证,因为访问此URL需要用户 认证
现在出于某种原因,当我尝试在我的网站上加载任何页面时,在.htaccess中使用此块,我得到500错误,当我真的应该获得身份验证框?
但这是我感到困惑,因为我认为这个块只会在用户点击“.login”href的链接的情况下产生影响...
我没有添加进一步的块来在认证有效时将用户引导到索引页面,只是这个块,以及作者提到的两个附加块。
有人能够解释造成这种反应的原因吗?
答案 0 :(得分:6)
根据error_log的说法,如果您使用的是Apache 2.2.x,请尝试将AuthDigestFile
更改为AuthUserFile
。您可能会遇到文件路径差异,具体取决于您的操作系统;按照任何新的error_log消息。
答案 1 :(得分:3)
myDomain
吗?