Короче говоря, я разрабатываю внутренний механизм отчетов.Он полностью основан на сети (с использованием PHP и различных методов AJAX) и интерпретирует данные, хранящиеся в базе данных MySQL нашим производственным программным обеспечением.Он работает на сервере Ubuntu 8.04, и все сотрудники имеют учетную запись linux на этом компьютере.Я настроил систему входа в систему, используя pam_auth, которая заставляет пользователя входить в систему под своей учетной записью linux и определяет, принадлежат ли они к соответствующей группе для доступа к определенным отчетам.
Эта часть отлично работает, моя проблема здесь заключается в добавлении функции «запомнить меня» с использованием файлов cookie.Я хотел бы, чтобы пользователи имели 30-дневный файл cookie, чтобы сэкономить время и усугублять необходимость входа в систему каждый раз, когда истекает срок их сеанса.Я написал часть кода «запомнить меня», и он прекрасно хранит куки.Я храню только их имя пользователя и md5 хэш их пароля.Проблема здесь возникает, когда пришло время для их повторной аутентификации.Обычно я просто делаю это, сравнивая сохраненное имя пользователя с паролем этого пользователя из базы данных.Что усложняет то, что у меня нет прямого доступа к именам пользователей и паролям.Все они хранятся в / etc / passwd и / etc / shadow, а логины обрабатываются модулем PAM.pam_auth ожидает имя пользователя в виде простого текста и пароль в виде простого текста.
Похоже, мои единственные альтернативы - хранить пароль в виде простого текста или с обратимым шифрованием, но мне не особо нравятся эти идеи..
Есть ли здесь лучшие решения?