We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21703
    • 28 Posts
    Здравствуйте.

    Имеется ситуация. Есть база данных пользователей. Внешняя. На другом сервере. Имеется доступ к ней. Как организовать запросы к другой БД - я научился. Как можно сделать авторизацию пользователей по этой базе?

    Как я правильно понимаю, нужно:
    1. Стартовать сессию текущего пользователя.
    2. Проверить, авторизован ли он или нет (запрос к внешней БД).
    3. Если нет, то где-то (где?) отметить, что текущий пользователь не авторизован.
    4. Показать форму авторизации.
    5. Пользователь вводит логин/пароль и переходит (куда?).
    6. Там, куда он перешел выполняется проверка логина/пароля, в БД записывается идентификатор сессии, пользователю ставится кука с идентификатором сессии. Если неправильный логин/пароль, нужно в той же форме (сбоку она находится, в правой колонке) сказать, что всё плохо и попробовать еще авторизоваться.

    Но вот я не знаю, как это реализоваться средствами модкса. Может кто-то помочь объяснить?

    Сам пока в стадии обучения, поэтому, если кто-то сможет объяснить, объясните по-подробнее. Для чайников.

    Только не предлагайте переносить базу пользователей в МОДКС - нельзя. Должна быть внешняя база. На нее много чего завязано. И модкс в этой связке - не главное звено.
      • 28814 ☆ A M B ☆
      • 1,086 Posts
      Quote from: noff at Mar 06, 2008, 04:36 AM

      Как я правильно понимаю, нужно:
      1. Стартовать сессию текущего пользователя.
      2. Проверить, авторизован ли он или нет (запрос к внешней БД).
      3. Если нет, то где-то (где?) отметить, что текущий пользователь не авторизован.
      Ну если Вы используете другую базу данных для авторизации, то по логике там же и отмечайте.
      Quote from: noff at Mar 06, 2008, 04:36 AM

      4. Показать форму авторизации.
      5. Пользователь вводит логин/пароль и переходит (куда?).
      Скорее всего, куда-то он перейдет smiley А если серьезно, то наверное туда, куда вы укажете в форме в параметре action.
      Quote from: noff at Mar 06, 2008, 04:36 AM

      6. Там, куда он перешел выполняется проверка логина/пароля, в БД записывается идентификатор сессии, пользователю ставится кука с идентификатором сессии. Если неправильный логин/пароль, нужно в той же форме (сбоку она находится, в правой колонке) сказать, что всё плохо и попробовать еще авторизоваться.
      Опять же в основном работа с внешней базой, MODx здесь как-бы и ни при чем. Есть сниппет, который проверяет совпадение введенных данных посетителем и данные во внешней БД, и от результата сравнения что-то делает - выдает ошибку, приветствует зарегистрированного пользователя, перенаправляет посетителя на другую страницу или что-то еще. Наверное, если на пальцах, то иначе не скажешь smiley
        Разработка сайтов и программных модулей на MODX.
        Опыт работы на MODx с 2005 года. Высокое качество.
        Компания Baltic Design Colors: http://www.bdcolors.ru.
        • 21703
        • 28 Posts
        Собственно, я и спрашивал - что нужно использоваться. Сниппеты - какие? Что они должны делать. Чанки - какие? Что они должны делать? TV? Аналогично. Я слабо модкс знаю, всегда сам все делал. Поэтому и спрашиваю, что именно используется и когда. Т.е. если кто-то сможет мне пошаговую инструкцию написать тут - буду признателен.
          • 785
          • 2,113 Posts
          Посмотрите, как устроены сниппеты, отвечающие за пользователей в MODx (например, WebLogin) и замените все обращения в нем к базе MODx на аналогичные обращения к внешней базе.
          Если хотите полностью заменить внутреннюю базу на внешнюю, найдите все обращения к таблицам web_users, web_users_attribites, web_users_settings и измените их.

          Мне кажется, проще дублировать регистрационную информацию в две базы – тогда придется менять только процедуру регистрации и внесения изменений в аккаунт, а подключение пользователя и работа будет вестись с помощью стандартных средств.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 21703
            • 28 Posts
            Продублировать не проще.

            Я вскользь смотрел WebLogin, но как мне показалось, там запросы только по обновлению данных о пользователе. Вся авторизация web-пользователей находится внутри ядра. Но пересмотрю еще раз.