CodeIgniter使用.htaccess保护管理控制器

时间:2012-09-05 12:24:48

标签: .htaccess codeigniter digest-authentication

我需要设置.htaccess规则以保护CodeIgniter中的管理员控制器。

在.htaccess中已经有友好网址的规则,如下所示:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

如何使用摘要式身份验证添加其他规则以保护所有under / admin /文件夹(控制器)?

我尝试了各种组合,但没有一种方法是正确的。以下是我试图获取线索的一些规则:

# set an environtment variable "doauth" if the request starts with "/admin/"
SetEnvIf Request_URI ^/admin/ doauth=1

AuthType Digest
AuthName "Admin Protected Area"
AuthUserFile /hta/.htdigest

# Here is where we allow/deny
Order Allow,Deny
Allow from all
Require valid-user
Deny from env=doauth
Satisfy any 

1 个答案:

答案 0 :(得分:2)

尝试使用此代码来控制对管理员控制器的访问:

SetEnvIfNoCase Request_URI "^/admin/" doauth

AuthType Digest
AuthName "Admin Protected Area"
AuthUserFile /hta/.htdigest

Require valid-user
Satisfy         any
Order           allow,deny
Allow from      all
Deny from       env=doauth