如何在Apache中接受多个身份validation选项?

我想在VirtualHost中保护path,但是允许用户使用各种身份validation选项(例如mod-auth-casmod-auth-openidmod-auth-digest 。)如何设置虚拟主机定义以允许多个auth-type s是否在同一位置?

多种authenticationtypes的问题是它们倾向于具有不可调和的协议。 您可以尝试Shibboleth文档中显示的技术,将所有内容放在子目录中,为每个要支持的authenticationtypes创build一个符号链接,然后为每个符号链接位置configuration不同的authenticationtypes。

 <Location /basic> AuthType Basic AuthUserFile /path/to/.htpasswd require valid-user </Location> <Location /cas> AuthType CAS require valid-user </Location> <Location /openid> AuthOpenIDEnabled On require valid-user </Location> 

我有几乎相同的情况,解决如下:

在服务器configuration级别,在apache2.conf(假设基于Debian的发行版)

 <AuthnProviderAlias method1 auth1_name > # config options # ... </AuthnProviderAlias> <AuthnProviderAlias method2 auth2_name > # config options # ... </AuthnProviderAlias> 

在虚拟主机特定的conf文件中:

 <VirtualHost *> # config options # ... <Location /your_location> # config options AuthBasicProvider auth1_name auth2_name # other needed config options # ... </Location> </VirtualHost> 

通过这种方式,您可以在相同的Location指令中为不同的VirtualHost使用不同的授权/authentication方法

我的解决scheme的更多细节在一个短的博客文章: 链接文本

HTH,ciao 🙂 Gianluca

你尝试过“ 满意 ”吗?