Как я могу реализовать аутентификацию fastcgi с C ++?

Я относительно новичок в веб-программировании. Я написал крошечный C ++ сервер, который генерирует HTML-страницы. Если я правильно понимаю, метод fastcgi заключается в следующем:

                         |                    Site1
|  +------------+   +--------------+   +-------------+
|--|Apache/nginx|---|fastcgi socket|---|My C++ server|
|  +------------+   +--------------+   +-------------+
........................................................
|                    Site2
+-----------------+   |  +------------+   +--------------+   +-------------+
===|TCP from Internet|===|--|Apache/nginx|---|fastcgi socket|---|My C++ server|
+-----------------+   |  +------------+   +--------------+   +-------------+
|
| <-firewall

Мое понимание следующее, пожалуйста, поправьте меня, если я ошибаюсь

  1. шаг заключается в том, что кто-то открывает сокет Tcp / Http по общеизвестному адресу, напр. http://www.example.com
  2. Брандмауэр, так что спина пользователя говорит, что он example.com и выполняет некоторую маршрутизацию трафика между веб-серверами.
  3. Брандмауэр открывает другой сокет для веб-сервера (Apache / nginx), который регистрирует доступ и другие вещи.
  4. Веб-сервер открывает новый сокет для моего сервера C ++
  5. Мой C ++ сервер получил этот сокет fastcgi, я принимаю соединение и начинаю опрашивать события ввода-вывода для этого соединения
  6. Когда данные поступают по этому соединению fastcgi, я читаю их и анализирую содержимое как заголовок HTTP и полезную нагрузку HTTP.

Итак, мой вопрос: как я могу аутентифицироваться или другими словами узнать пользователя? Так правда ли, что 1 соединение — это 1 пользователь? Должен ли я запускать конечный автомат на каждом соединении, которое обрабатывает состояния входа / выхода? Поэтому, когда новое соединение принято, состояние «вышло из системы», и я отправляю обратно регистрационную форму, и когда я получил пользователя / перехожу к шагу состояния соединения, чтобы «войти в систему», и сервер отправляет персонализированный контент.

Мой C ++ сервер основан на server1 — C ++ сетевой сервер / клиентская среда

2

Решение

Ваш вопрос требует книг стоит ответов.

5 & 6 верны, но веб-сервер справится со всем этим.

Вы действительно должны сосредоточиться на небольшой достижимой цели. Давайте начнем с fastcgi аутентификации. Выполните поиск с использованием «Cookies для проверки подлинности», и это поможет вам начать с одной части вашего ответа.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector