CodeIgniter и htaccess - защитить определенный контроллер и его методы через AuthType? - PullRequest
2 голосов
/ 30 июля 2010

У меня есть контроллер администратора, у которого есть несколько методов, которые я хочу защитить.

http://blabla.com/admin/

http://blabla.com/admin/edit_coupon/

http://blabla.com/admin/edit_photo/

Мне не нужна полноценная система аутентификации для этого сайта, поэтому я бы предпочел просто использовать htaccess и AuthType для любых / admin / URL-адресов.

Мой текущий .htaccess является базовым CI.

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] 

Как мне это сделать?

[Добавлено] Я знаю, как использовать htaccess и htpasswd. Мой вопрос заключается в том, как защитить контроллер CI, который на самом деле не является каталогом (/ admin). Я попытался использовать директиву Location безуспешно. Вот этот 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 Ошибка сервера.

Я считаю, что директива Location не может быть в файле htaccess, поэтому я также попробовал ее в httpd.conf этого сервера для этого VirtualHost. Не выдает ошибку, но не работает.

Ответы [ 2 ]

2 голосов
/ 30 июля 2010

Я получил это на работу, следуя советам в этом посте:

http://ellislab.com/forums/viewthread/141775/

0 голосов
/ 30 июля 2010

http://httpd.apache.org/docs/2.0/howto/auth.html

Вам потребуется создать файл .htpasswd с именами-паролями и настроить правило в файле .htaccess, для которого требуется действительный пользователь для защищаемого местоположения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...