c#: одобрить / отклонить по электронной почте: не кнопки: минимальные клики - PullRequest
0 голосов
/ 20 марта 2020

Я разработал приложение, которое получило одобрение. Утверждение / отклонение приложения работает нормально, и мне было поручено разработать решение для утверждения по электронной почте вместо того, чтобы пользователи входили в приложение, которое в любом случае использует учетные данные домена. Приложение размещено локально, разрешено только локально и не публикуется ни на одном публичном c IP. Это требование почтовых разрешений относится к утверждениям руководства, которые в большинстве случаев находятся в движении и не согласятся на go для VPN-доступа к указанному приложению.

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

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

Любые предложения о том, как управлять этим, желательны.

Редактировать 1

К 2 URL-адресам, которые я отправляю по почте, я добавляю строку запроса, которая является уникальным идентификатором, связанным с идентификатором органа по утверждению.

Однако, если то же сообщение пересылается второму получателю, Я не уверен, как проверить идентификатор электронной почты, с которого был получен клик.

Изменить 2

Я попробовал предложения (приведенные в комментариях ниже). Я сгенерировал письмо с идентификатором запроса в теме письма и попросил пользователей ответить на это письмо только одним словом в теле: либо Одобрить / Отклонить . Я обеспечил обработку заявки без учета регистра. Тем не менее, было так много опечаток для одного слова, что я не мог представить количество комбинаций, с которыми мне пришлось столкнуться.

Я также пытался, имея Идентификатор запроса в теме почты и попросил пользователей ответить на это письмо, добавив : A для подтверждения или : R для отказа (без учета регистра). Но это снова привело к многочисленным опечаткам.

1 Ответ

1 голос
/ 20 марта 2020

У вас есть в основном два варианта

  1. , чтобы ваши пользователи ответили на электронное письмо с помощью кнопки Принять или Отклонить, как вы сказали. В этом случае вам нужно будет проверить, имеет ли право учетная запись электронной почты в поле ОТ.
  2. чтобы ваш пользователь щелкнул ссылку. В этом случае вы должны будете заставить приложение проверять пользователя на основе его учетных данных.

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

Возможны разные способы реализации этих двух параметров, но это единственные варианты, которые у вас есть.

...