Приветствую! Имею форум вполне настроенный, но не запущенный еще в открытое плавание. Так же ваяю сайт для того же проекта на Symfony2.1 . Необходимо сделать авторизацию прозрачной для пользователя: залогинился на сайте - на форуме уже залогинен, так же хочу перехватить регистрацию у IPB и сделать свою, мало ли полей еще придется добавить к юзеру. Форум находится по пути /forum, вешает куки на /, значит все просто. Так где же взять хоть какие-то доки, где бы описывались поля в таблице ipb_members, как генерится salt, pass_hash? А может вы имели уже подобный опыт и поделитесь рецептом? Буду крайне благодарен любой помощи в этом направлении.
думаю док. по интеграции готовых нет. я при решении подобной задачи но с другим форумным движком, ковырял его исходники. нашел функции которые использовались и просто заинклюдил файл с ними и использовал на общем сайте, чтобы не плодить сущности.
Пока нет никаких доков, я естественно ковыряю сырцы форума. Проблема еще в том, что у Symfony2 своя логика авторизации пользователей, ей нужны свои UserProviderб AuthenticationProvider, AuthenticationListener, Token и фабрика, которая все это будет в себе объединять, так что простым инклудом тут не обойдешься)
поэтому она мне и не нравится. на элементарную задачу миллион классов и зависимостей. у того же Yii надо просто отнаследоваться от CUserIdentity, и там реализовать логику откуда именно брать данные для авторизации...
Как по мне - все логично и разложено по полочкам AuthenticationProvider по переданным ему данным производит аутентификацию, и возвращает Token или false, Token содержит в себе идентификационную информацию о пользователе, AuthenticationListener слушает запрос на предмет аутентификационных данных в нем, ну а UserProvider итак понятно, что он делает. Более того, Symfony2 не ставит вас ни в какие рамки. Для одного из проектов мне необходима была авторизация через NetUP UTM5 через консольную URFA - я просто написал Service (обычный РНР класс), который работает с сессиями и аутентификацией, минуя SecurityBundle. Так что зря вы так на этот прекрасный фреймворк. You're awesome! Жаль, что это только сарказм. Проблема в том, что в таблице пользователей есть поля login_key и login_key_expired, ну и еще вагон полей. Что куда я пока не понял.
Там кодеры еще такие, для себя только пишут) Форум обвешан до жопы, по 40-50 запросов на главной странице.) Вам лучше будет обратиться на http://www.ibresource.ru/ и спросить на форуме. Там занимаются многие этим форумом.
Перепишите авторизацию под себя, и все дела. Я так и сделал когда SSO делал, и не обязательно знать для чего все поля в таблице MEMBERS. Вот ссылка на ресурс, там все просто. http://community.invisionpower.com/resources/documentation/ ... modules-r7
Да, отлично! Спасибо. Но это не то, что надо =( 1. IPB ставит куку session_id, Symfony2 - PHPSESSID, поменять-то не проблема, но... 2. Не знаю как IPB хранит данные о логине в сессии, но симфони хранит сериализованный объект юзера. 3. Разные куки хранения логин-инфо при Remember Me галочке. Авторизацию из IPB базы данных я сделал, но проблема заключается в этих 3-х пунктиках, получается как разные ресурсы, хоть и находятся в одной папке, из-за разной интерпретации разных кук. Это тоже решаемо. Но если вы можете, объясните, как работать с полями login_key и login_key_expired?
Я не разбирался если честно для чего они нужны. Но, если вы хотите сделать SSO. Почему решение о переписывании авторизации под себя, не решает вашей проблемы, в моем же случае решило. У меня то же единый вход. И не один сайт, а десятки Добавлено спустя 2 минуты 52 секунды: И вводить логин и пароль необходимо только ОДИН раз, после чего мы будем авторизованы на всех сайтах, и пользователь доволен, не где больше не нужно подтверждать, гуляет себе спокойно и все.