Евгений
а можно в Login указать куда авторизовать
Mike
а можно в Login указать куда авторизовать
Так и сделано. При авторизации с любого домена пользователь авторизуется в домене, а также в домене, где данные. В итоге, при атворизации на нескльких доменах, пользователь видит данные с "другого" домена.
Mike
Я думаю разлогинивать автоматом, но это как-то криво (
🙈 PG
https://github.com/modxcms/revolution/blob/2ad1f763a32afd28fd5b89e7f0ba5ceaa26bfad1/core/model/modx/processors/security/login.class.php#L67
Евгений
да тут как бы всё остальное криво
🙈 PG
при авторизации можно указать в каких контекстах пользователя авторизовать
Евгений
но видимо надо логинить сразу в 2 контекста
Евгений
а потом еще в какие-то другие два
Евгений
или один
Евгений
тут не понятно))
🙈 PG
ну есть же removeSessionContext addSessionContext getSessionContexts
🙈 PG
в чем сложность то?
🙈 PG
https://github.com/modxcms/revolution/blob/71f894ee55dc4eed10538979761d6c94e8cd1078/core/model/modx/moduser.class.php
Евгений
в том что автор считает что это криво
Евгений
ну да бог ему судья
🙈 PG
Example Add a 'sports' Context session to the user. $modx->addSessionContext('sports');
🙈 PG
при логине
🙈 PG
$modx->removeSessionContext('sports');
🙈 PG
при логауте
Евгений
нету логаута
Евгений
ему скорей всего надо при логине убивать все сессии и потом начинать новые
Евгений
мне кажется атвор ушёл спать
Mike
нене
Mike
я ушел пробовать
Mike
вот это пробовать fireOnBeforeLoginEvent
Mike
Смысл в том, что когда пользователь авторизуется сперва на одном домене, потом на втором домене, то на втором домене ему показываются данные из уже авторизованного 1 домена.
Anonymous
Всем привет 👋 Есть хорошая команда, занимается разработкой мобильных приложений и веб сервисов. Кому интересно, могу поделиться портфолио и контактами, пишите в ЛС. Спасибо
Mike
в том что автор считает что это криво
Разлогинивать криво, потому что пользователь может пользоваться двумя сайтами одновременно. И если при авторизации на втором я разлогниню его на первом, то будет криво.
Mike
На всех сайтах данные грузятся аяксом с основного контекста, где данные.
Sentinel
Так его не надо разлогинивать, а просто данные скрыть что ли?
🙈 PG
то есть у пользователя может быть на одном контексте одно имя а на другом другое? или что-то в этом роде?
Mike
Так его не надо разлогинивать, а просто данные скрыть что ли?
Там сложная логика. Зависит от пользователя что показываем.
🙈 PG
и пароли могут быть разные?
Mike
да
🙈 PG
ну тогда лучше создать отдельную таблицу для данных, и при запросе выдавать данные из этой таблицы
🙈 PG
там хранить uid ctx и все нужные поля при запросе дергать данные которые соответствуют этим значениям
🙈 PG
по тому как с такой задачей не поможет пожалуй даже office
Mike
Один и тот же человек и компьютер сидит на двух сайтах: 1. site1.ru, пользователь user1 2. site2.ru, пользователь user2 Оба эти данные по аяксу загружают данные с data.site.ru. При авторизации на каждом из сайтов происходит авторизация и на data.site.ru тоже, чтобы отдавались нужные данные. Проблема в том, что на site2.ru для пользователя user2 отображаются данные, которые предназначены для site1.ru и пользователю user1. Потому что data.site.ru не различает пользователей.
Mike
ну тогда лучше создать отдельную таблицу для данных, и при запросе выдавать данные из этой таблицы
Там сложная логика, так можно, но займет сотни часов работы переделывать. + очень сложная поддержка всего этого в будушем.
Mike
Не различает пользователей, наверное, потому что для каждого из контекстов сайтов указано, что session_cookie_domain = data.site.ru (таким образом и происходит авторизация сразу на нескольких доменах)
🙈 PG
Проблема в том, что на site2.ru для пользователя user2 отображаются данные, которые предназначены для site1.ru и пользователю user2. Потому что data.site.ru не различает пользователей. у меня сложно с телепатией, но думаю что при выводе тех самых данных которые отображаются можно сделать грамотную проверку на соответствие контексту и не показывать ее
Mike
ну есть же removeSessionContext addSessionContext getSessionContexts
Эти штуки работают, когда все контексты находятся на одном домене. А при разных доменах их недостаточно. Если не прав, то подскажите, плиз.
🙈 PG
при запросе аяксом можно же передать контекст и id пользователя
🙈 PG
так можно же данные зашифровать
🙈 PG
получится строка на 10-20 символов
🙈 PG
делов то
Mike
так можно же данные зашифровать
Шифровать то, что потом показываю дешифрованным? Не понял
Roman 🚀
Можно, но это не секурно.
тогда проверяй хост запроса или придумай токены
🙈 PG
Шифровать то, что потом показываю дешифрованным? Не понял
не передавать в открытом виде по аяксу данные, а сделать к примеру json в него всунуть uid и ctx и это json зашифровать к примеру через encrypt а на data.site.ru сделать decrypt и json_decode
🙈 PG
https://stackoverflow.com/questions/16600708/how-do-you-encrypt-and-decrypt-a-php-string
🙈 PG
@mdomansky суть ясна?
Mike
не передавать в открытом виде по аяксу данные, а сделать к примеру json в него всунуть uid и ctx и это json зашифровать к примеру через encrypt а на data.site.ru сделать decrypt и json_decode
Мне кажется, что есть решение проще. Например, научить модх различать пользователей или может быть различать домены?
Mike
@mdomansky суть ясна?
да, более чем
Mike
Шифровать запрос - это дублирование существующего механизма сессий. Дублировать - это нехорошо.
Mike
мое имхо, само собой
🙈 PG
различать пользователей - как отличить пользователей если это один и тот же пользователь? может быть различать домены - проверяй HTTP_REFERER
Игорь
Привет всем. Такой вопрос: какая версия MySQL актуальна для MODX?
YS
завтра дам ссылочку на .exe файл, установите и получите бесплатные компоненты с модстора)
было как то сообщение на modx .pro со ссылкой на видео где показывалось что после каких то манипуляций (это было вырезано или не снималось вообще) открылись все компоненты платные - просто весь каталог. Но пост провисел не долго - удалили.
YS
это в корне ломает задумку проекта modx.store - но жуть как интересно как это вот так раз и сняли ограничение
YS
Вроде это уже пофиксили
ну еще бы - это угроза для бизнеса. Думаю , что это в интересах всех разрабов кто там выставляет плоды своего труда.
Василий
это в корне ломает задумку проекта modx.store - но жуть как интересно как это вот так раз и сняли ограничение
При установке на modhost.pro некоторые пакеты при некоторых условиях выдавали ошибку, в результате чего процесс останавливался и из БД тестового сайта не удалялись служебные логин и пароль. Так что весь лютый взлом состоял в нахождении этого логина и пароля Сейчас modhost ставит дополнения вообще без пароля, так что подсматривать нечего и уязвимость закрыта
Василий
Евгений Борисов в то же утро нашел проблему и я придумал, как пофиксить
Василий
А от парня потом только получили подтверждение, что он ничего не ломал, а просто увидел сохранённый пароль на тестовом сайте А Евгений, как раз-таки, без этого смог сломать систему и вытащить пароль =)
Василий
Именно поэтому теперь пароли и не используются, установка по-другому работает
YS
Евгений Борисов в то же утро нашел проблему и я придумал, как пофиксить
Спасибо за проект. Очень удобно. Я лично пользуюсь. Клиентам покупаю в магазе при надобности. Желаю развития. И чтобы наше Русское , Белорусское и Украинское (славянское сообщество) стало в авангарде развития MODx.