![如何在 Apache 中设置过期的身份验证?](https://linux22.com/image/40305/%E5%A6%82%E4%BD%95%E5%9C%A8%20Apache%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%E8%BF%87%E6%9C%9F%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%EF%BC%9F.png)
使用简单的虚拟主机,我想设置 X 分钟的超时(与设置过期的身份验证相同)以强制用户重新插入其凭据。
[...]
<Directory /home/user1/>
Order allow,deny
Allow from All
Options -FollowSymLinks +Indexes +Includes -MultiViews
IndexOptions +IgnoreCase +SuppressDescription +FoldersFirst +NameWidth=40 +SuppressHTMLPreamble +FancyIndexing +IconHeight=16 +IconWidth=16
AllowOverride none
AuthUserFile /etc/apache2/user1.pass
AuthName "server.example.com"
AuthType Digest
require valid-user
</Directory>
[...]
答案1
第一的
据我所知,apache/HTTP 身份验证不给你控制权。
首次身份验证后,您的服务器无法指示浏览器注销或超时,因为 HTTP 身份验证不适用于会话/cookie,并且浏览器将不断发送身份验证凭据。要注销,您应该关闭浏览器。
但查看 Apache 网页:
AuthDigestNonceLifetime
指令可能有用
来自阿帕奇网页:
AuthDigestNonceLifetime 指令控制服务器随机数的有效时间。当客户端使用过期的随机数联系服务器时,服务器将发回 401 且 stale=true。如果秒大于 0,则指定随机数有效的时间量;这可能永远不应该设置为少于 10 秒。如果秒数小于 0,则随机数永远不会过期