Apache中的Cookie身份validation

我正在尝试在Apache中设置一个反向代理。 用户将被要求login,然后将被发送一个cookie。 我希望Apache检查cookie。 有没有办法做到这一点?

EG,现在我的configuration看起来像这样:

<VirtualHost *:82> # username:password sent on to endpoint RequestHeader set Authorization "Basic cm9vdjfjDJaGRvYa==" ProxyPass /monitors/2/ http://192.168.1.6/foo.cgi ProxyPassReverse /monitors/2/ http://192.168.1.6/foo.cgi </VirtualHost> 

我可以在VirtualHost中添加一些东西来限制基于cookie的访问吗?

当然。 我做同样的事情。

当用户login时,我给他们一个cookie,并在/t/ tokenid中创build一个令牌,并将其放在cookie中: S= tokenid ;PATH=/

然后,我可以使用RewriteCond检查文件的存在:

 RewriteEngine on # check for no cookie being set RewriteCond %{HTTP:Cookie} !S=([a-zA-Z0-9]+) RewriteRule ^/*protected/ /login.html [L,R] # check for an invalid cookie being set RewriteCond %{HTTP:Cookie} S=([a-zA-Z0-9]+) RewriteCond /t/%1 !-f RewriteRule ^/*protected/ /login.html [L,R] 

最后,垃圾收集器定期运行并删除旧的令牌:

 find /t -type f \! -atime +1 -delete 

为了使atime自动更新,我没有noatime ,我有它networking访问(但没有索引)和部分样式表引用/loggedin.txt被改写为:

 RewriteCond %{HTTP:Cookie} S=([a-zA-Z0-9]+) RewriteRule ^/*loggedin\.txt$ /t/%1 [L]