codeIgniter和htaccess的 - 保护特定的控制器,并通过与AuthType它的方法? [英] CodeIgniter and htaccess - Protect a specific controller and its methods via AuthType?
问题描述
我有一个管理控制器,它有,我想保护一些方法。
I have an admin controller which has some methods that I want to protect.
http://blabla.com/admin/edit_coupon/
http://blabla.com/admin/edit_photo/
我并不需要一个完全成熟的认证体系这个网站,所以我倒是preFER只是利用htaccess以及与AuthType任何/管理/网址。
I don't need a full blown authentication system for this site, so I'd prefer to just utilize htaccess and AuthType for any /admin/ URLs.
我目前的.htaccess是一个基本的CI之一。
My current .htaccess is a basic CI one.
RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|uploads|images|css|js|videos|code|robots\.txt|favic
on\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
我如何做到这一点?
How do I do this?
[新增] 我知道如何使用htaccess以及htpasswd的。我的问题是如何保护CI控制器,它是不是一个真正的目录(/管理)。我尝试使用Location指令,但没有成功。下面是htaccess的:
[Added] I know how to use htaccess and htpasswd. My question is how to protect a CI controller which is not really a directory (/admin). I tried using the Location directive with no success. Here is that htaccess:
<Location /admin>
AuthUserFile /var/www/vhosts/blabla.com/httpdocs/.htpasswd
AuthType Basic
AuthName "Admin"
Require valid-user
</Location>
RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|uploads|images|css|js|videos|code|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
这将引发500服务器错误。
That throws a 500 Server Error.
我相信Location指令不能在一个htaccess文件,所以我也试了一下这个虚拟主机这个服务器的httpd.conf里。不会抛出一个错误的方式,但也不管用。
I believe the Location directive can't be in an htaccess file, so I also tried it inside this server's httpd.conf for this VirtualHost. Doesn't throw an error that way, but doesn't work either.
推荐答案
我得到这个按照本职位的建议工作:
I got this to work by following the advice in this post:
http://ellislab.com/forums/viewthread/141775/
这篇关于codeIgniter和htaccess的 - 保护特定的控制器,并通过与AuthType它的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!