Member 9353131 Ответов: 2

Как получить текущее имя пользователя в Perl cgi?


Как получить текущее имя пользователя who в системе в cgi?

Я пробовал использовать,

my $system_user = $cgi_obj->remote_user;


а также

my $system_user = $ENV{REMOTE_USER};


Но ничего не получается. Пожалуйста помочь. Заранее спасибо.

2 Ответов

Рейтинг:
0

ZeeroC00l

Если вы пытаетесь получить имя пользователя, выполняющего выполнение CGI, вы можете использовать следующее.

my $username = $ENV{LOGNAME};


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

my $username = $ENV{LOGNAME} || getpwuid($<) || $ENV{USER}; 


Рейтинг:
0

Member 14849382

Похоже, вы пытаетесь определить личность неаутентифицированного удаленного пользователя, что не работает, и даже если бы это было так, было бы бессмысленно. http по умолчанию является анонимным. Чтобы изменить это, вам нужно либо аутентифицировать пользователя (http-аутентификация устанавливает переменные, на которые вы смотрели), либо отслеживать пользователя (проконсультируйтесь с вашим адвокатом и священником, прежде чем отслеживать пользователей). Для получения более подробной информации обратитесь к руководству по вашей аутентификации или методу отслеживания.