У меня есть существующий php-сайт с уже настроенной пользовательской системой (регистрация, аутентификация, потерянный пароль и т. Д.). Я решил, что хочу добавить доску объявлений и интегрировать ее с существующим веб-сайтом: регистрация должна регистрироваться на другом, а также регистрироваться и изменять информацию пользователя.
Есть ли хороший форум, который упростит такую интеграцию? Похоже, что наиболее распространенный способ – просто отказаться от существующей пользовательской системы и использовать пользовательскую систему форума. Но это имеет минусы: вы полагаетесь на форум для правильной обработки безопасности (с другой стороны, это может быть полезно), и вы гораздо больше привязаны к этому конкретному форуму (более сложный для переключения форумов, проблемы с форумом могут вызвать проблемы с весь сайт, сложнее иметь форум на отдельном сервере).
Каков хороший способ приблизиться к этому?
Если вы собираетесь использовать стабильную, популярную реализацию программного обеспечения для форумов, почти во всех случаях лучше будет использовать аутентификацию пользователя, а не свою собственную.
Тем не менее, если вы пытаетесь использовать свою собственную систему аутентификации, вы, вероятно, можете сохранить две изолированные, но вместе взятые. Я имею в виду, что в системе регистрации вашего собственного программного обеспечения зайдите в метод регистрации форума. Таким образом, как только вы зарегистрируетесь на своем веб-сайте, он также создаст учетную запись на форуме.
Если вы хотите, чтобы один сеанс аутентификации прошел аутентификацию как на вашем веб-сайте, так и на форуме, вам нужно будет загрузить информацию о сессии форума при входе в систему. Во многих версиях программного обеспечения форума есть крючки, которые вы можете вызвать. SMF, из того, что я помню, имел API, который позволял выполнять многие из этих задач.
У вас есть время и ресурсы, чтобы написать свой собственный? По моему опыту, интеграция решения с открытым исходным кодом в уже существующую систему может занимать больше времени, чем создавать с нуля.
Я не уверен, насколько это эффективно, поскольку я просто рекомендую использовать пользовательскую систему вашего форума для такого рода задач, но вы можете технически хранить идентификатор пользователя в столбце / таблице в своей базе данных и ссылаться на него оттуда.
Вы можете использовать функцию единого входа в Simple Machines, если хотите. Это именно то, что вы должны сделать, чтобы плавно интегрировать программное обеспечение в другое. Альтернативы также являются Openid, но их сложнее реализовать.