Сбор электронной подписи на Perforce submit - PullRequest
3 голосов
/ 20 июля 2009

Я работал над проектом по созданию FDA-совместимого репозитория документов с электронной подписью. Мандат состоит в том, что он использует Perforce для отслеживания различных версий документов, использует LDAP (AD) в качестве каталога аутентификации / доступа и повторно аутентифицирует пользователя в тот момент, когда они отправляют список изменений.

Первые два требования выполнены, но у меня возникли проблемы с последним. У меня есть скрипт в триггере «изменение-отправка», который регистрирует пользователя - при условии, что это заставит клиента повторно аутентифицировать пользователя, прежде чем продолжить процесс - но это не работает, по крайней мере, для клиента командной строки ; пользователь вышел из системы, но процесс завершен, и следующая попытка команды от пользователя будет отклонена.

Настройка сценария для обработки процесса аутентификации не является опцией, поскольку он запускается на стороне сервера, и нет способа передать приглашение пользователю.

Конечно, я мог бы передать аутентификацию в качестве аргументов командной строки сценарию, а затем вернуть ненулевое значение, чтобы принудительно прервать процесс, если учетные данные неверны, но я не нашел способа изменить команды, отправленные для данного действие, выполняемое графическим интерфейсом p4v, и снова, чтобы клиент не запрашивал у пользователя аутентификацию; и это приведет к тому, что пароль будет последовательно отображаться в виде простого текста.

Установка времени ожидания билета на чрезвычайно короткое время определенно потребует от пользователя аутентификации перед отправкой, но также и перед любым другим действием.

Кто-нибудь уже имел дело с чем-то подобным раньше, или кто-то видит угол атаки, который мне не хватает? Спасибо!

Ответы [ 2 ]

1 голос
/ 17 февраля 2010

Спасибо avp за вашу попытку помочь, но моя проблема была не в том, что выход из системы не был выполнен, а в том, что отправка, которая вызвала сценарий выхода из системы, в любом случае была завершена.

В основном я настроил разные группы, одна из которых имела все права, кроме записи, а затем группа для каждого авторизованного пользователя, у которого были права записи, но срок действия которого истек через 90 секунд. Затем я поместил всех пользователей в группу без записи, а затем установил триггер при входе в систему, который проанализировал пароль, указанный для определения, содержит ли он запрос на присоединение к группе с правами записи (который был установлен в сценарии p4v), и, если оставшаяся часть переданного пароля была правильной, назначьте их этой группе.

У меня уже несколько месяцев в производстве, без проблем.

0 голосов
/ 17 февраля 2010

Ну, я понятия не имею, почему это не сработало для вашего клиента, но вы можете попробовать это:
удалите файл p4tickets.txt или удалите необходимую строку в этом файле после выхода из системы.

(После выхода из системы я вижу, что одна строка (строка для клиента, которого я вышел из системы) удаляется из файла p4tickets.txt.

Каждый раз, когда у меня возникают проблемы с входом / выходом, я удаляю этот файл, и он помогает.

...