我如何设置Joomla要求或绕过基于访问者IP地址的身份validation?
我想build立一个Joomla网站,要求访问者login,除非他们从一个特定的IP地址或子网访问。
另外,我想login是基于LDAP的。
我将在我的本地networking上托pipeJoomla网站,并通过端口转发通过我的路由器公开它。
我想build立一个Joomla网站,要求访问者login,除非他们从一个特定的IP地址或子网访问。
为Joomla创build一个虚拟主机如下:
<VirtualHost *:80> ServerName joomla.yourdomain.com ServerAdmin ... DocumentRoot /var/www/html/joomla ErrorLog logs/joomla.error_log <Directory "/var/www/html/joomla"> Options ... Order allow,deny Allow from 192.168.1.0/24 Satisfy Any </Directory> </VirtualHost>
另外,我想login是基于LDAP的。
你可以使用mod_authz_ldap来完成 ,如下所示:
LoadModule authz_ldap_module modules/mod_authz_ldap.so <IfModule mod_authz_ldap.c> <Location /var/www/html/joomla> AuthBasicProvider ldap AuthzLDAPAuthoritative Off AuthLDAPURL ldap://IP:3268/dc=domain,dc=com?sAMAccountName AuthLDAPBindDN cn=binduser,dc=domain,dc=com AuthLDAPBindPassword secret AuthType Basic AuthName "Authorization required" require valid-user AuthzLDAPLogLevel debug </Location> </IfModule>
是HTTPSauthentication使用LDAP(MS-AD)的一个选项?
是。
林不知道这是否是你后,但..
另一种select是更改.htaccess文件以允许通过IP访问
<Limit GET> Order Deny,Allow Deny from all Allow from 100.100.100.100 </Limit>
可选:您可以使用逗号分隔多个地址。
100.100.100.101, 100.100.100.102
要查看的Apache文档是访问控制 (“主机”部分), 身份validation,授权和访问控制 (“满足”指令), mod_auth_basic和mod_authnz_ldap 。 一个示例configuration来做你想做的是
AuthType Basic AuthBasicProvider ldap AuthName "Joomla" # change the ldap attributes to what matches your environment AuthLDAPBindDN "uid=example,ou=example,dc=example,dc=com" AuthLDAPBindPassword example AuthLDAPURL "ldap://example.com:port/basedn?attribute?scope?filter" Order allow,deny # change the ip to match your network that should not have to authenticate Allow from 10.0.0.0/24 Satisfy any
你可能要考虑使用.htaccess来简单地input用户名/密码,除非他们有前端密码,否则他们根本无法访问网站。
您应该将nginx设置为代理前端。 Nginx可以使用下面的configuration指令来做到这一点:
auth_basic "Restricted"; auth_basic_user_file htpasswd; satisfy any; allow 10.0.0.0/24; allow 10.1.0.0/24; allow 10.2.1.1; deny all;
这样,您可以绕过allow明确列出的IP的身份validation,并为所有其他IP创buildauthpopup对话框。