Forum Webscript.Ru

Программирование => Perl => Тема начата: Xpyct от 18 Июля 2007, 14:15:09

Название: Авторизация
Отправлено: Xpyct от 18 Июля 2007, 14:15:09
Появилась проблема при осуществлении авторизации на сервере, точнее саму авторизацию я сделал с помощью мода rewrite, а вот теперь как сделать выход??? Ситуация такая пользователь заходит на сайт перед ним выскакивает окошко сервера с просьбой ввести логин и пароль, пользователь вводит данные после чего они проверяются по базе МУСКУЛА и принимается решение пропустить или нет. Если логин валидный то пользователь заходит и каждая такая следующая проверка уже происходит автоматичекий без просьбы у пользователя снова ввести данные. Вообщем обычная серверная авторизация

вот код
Цитировать

$ENV{\'HTTP_CGI_AUTHORIZATION\'} =~ s/basic\\s+//i;
($ENV{\'REMOTE_USER\'}, my $REMOTE_PASSWD) =  split(/:/,decode_base64($ENV{\'HTTP_CGI_AUTHORIZATION\'}));
# проверяем значения $REMOTE_USER и $REMOTE_PASSWD
$type = &UserAccess($ENV{\'REMOTE_USER\'},$REMOTE_PASSWD);
if ($type<0) {
print  "Status: 401 Unauthorized\\r\\n",
       "WWW-Authenticate: Basic realm=\\"Access Denied\\"\\r\\n",
       "Content-type: text/html\\n\\n",
       "Доступ закрыт!\\r\\n";

exit;
};



&UserAccess - функция возвращает уровень доступа пользователя, если меньше нуля то такого пользователя ваще нету

теперь собственно сама проблема:
как сделать чтобы пользователь смог выйти и зайти допустим под другим ником, данные введеные один раз при запросе на логин сохраняются в переменных сервера и добраться до них я незнаю как, мож кто поможет? Заранее спасибо
Название: Авторизация
Отправлено: Green Kakadu от 18 Июля 2007, 18:04:33
это проблематично - как вариант, для выхода перенаправить пользователя на другую запаролированную страницу (соответсвенно логин/пароль не совпадающие с пользовательскими ), чтоб он получил 401 Unauthorized