nixp.ru v3.0

21 октября 2017,
суббота,
13:21:11 MSK

DevOps с компанией «Флант»
anonymous написал 23 февраля 2005 года в 12:01 (596 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Существует простая аунтентификация пользователей средствами Apache

Пример: .htaccess

AuthType Basic

AuthName «Administrator area:»

AuthUserFile /home/test/.users

AuthGroupFile /home/test/.groups

require valid-user

Местонахождение .htaccess — /home/test/public_html

Аутентификация происходит нормально, но я немогу узнать принадлежность аутунтифицированного пользователя к его группе, которая в свою очередь прописана в /home/test/.groups.

Содержание /home/test/.users

user_name:password_hash

Содержание ./home/test/.groups

100: user_name

/etc/groups

users::100:

Не могу получить принадлежность пользователя к группе.

вывожу: <?php echo $_SERVER; ?>

Array

(

[AUTH_TYPE] => Basic

[DOCUMENT_ROOT] => /home/test/public_html

[HTTP_ACCEPT] => text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

[HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7

[HTTP_ACCEPT_ENCODING] => gzip,deflate

[HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5

[HTTP_CONNECTION] => keep-alive

[HTTP_COOKIE] => PHPSESSID=07010e509a2d0552e134e1b184870863

[HTTP_HOST] => info

[HTTP_KEEP_ALIVE] => 300

[HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10

[PATH] => /sbin:/bin:/usr/sbin:/usr/bin

[REMOTE_ADDR] => 192.168.0.27

[REMOTE_PORT] => 4959

[REMOTE_USER] => user_name

[SCRIPT_FILENAME] => /home/test/public_html/view

[SERVER_ADDR] => 192.168.0.1

[SERVER_ADMIN] => admin@test

[SERVER_NAME] => test

[SERVER_PORT] => 80

[SERVER_SIGNATURE] =>

Apache/1.3.31 Server at test Port 80

[SERVER_SOFTWARE] => Apache/1.3.31 (Unix) PHP/4.3.7

[GATEWAY_INTERFACE] => CGI/1.1

[SERVER_PROTOCOL] => HTTP/1.1

[REQUEST_METHOD] => GET

[QUERY_STRING] =>

[REQUEST_URI] => /view/test

[SCRIPT_NAME] => /view

[PATH_INFO] => /test

[PATH_TRANSLATED] => /home/test/public_html/test

[PHP_SELF] => /view/test

[PHP_AUTH_USER] => user_name

[PHP_AUTH_PW] => password

)

anonymous

Насколько я понял, Apache не передает группу пользователя вместе с его логином и паролем. Точнее будет сказать, группа пользователя не присутствует в перемменных окружения Apache.

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