Перейти к содержимому


Передача управления внешнему php

php

Сообщений в теме: 9

#1 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 03 Ноябрь 2015 - 17:02

После авторизации система отправляет пользователя на страницу, заданную по умолчанию в его параметрах. Но это может быть только страница самого сервиса.
Есть потребность в том, чтобы при заходе с мобильного устройства пользователь мог перенаправляться на внешний php, где будет скрипт с jQuery mobile.
Если этого не сделать, приходится фактически авторизацию писать поверх, а в скрипте делать вход без авторизации. Это неудобно и не нужно. Достаточно добавить три элемента в таблицу юзеров. Например "Внешний php при входе с десктопа", "Внешний php при входе с мобильного", "Внешний php при входе с планшета" с полем типа текст. Определение типа устройства встроить в систему. Если соответствующее поле не заполнено, то переход на страницу по-умолчанию для мобильных устройств. При заполнении поля для мобильных устройств автоматически подгружать jQuery mobile с таблицами CSS.
Очень много задач, которые можно решать с мобильного телефона, не используя избыточности clientbase.
Можно такое реализовать как-то? А то я застрял с работой. Воспроизводить заново весь механизм авторизации неохота.
Может быть, как-то можно и сейчас перехватывать загрузку вашей мобильной версии по умолчанию и перенаправлять ее на внешний php?

#2 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 03 Ноябрь 2015 - 17:03

Ребята вы чего. Тема обсасывалась 10-тки раз. В прошлой теме хотя бы отвечал. Используйте поиск!!!

#3 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Ноябрь 2015 - 18:03

Я так понимаю, в этом случае Вы просто используете КБ в качестве "менеджера авторизации", с перенаправлением в другое, свое ПО? Несколько странное использование нашей программы :blink:

Тем не менее, я думаю это можно сделать, через добавление отчета с кодом перенаправления на любой другой адрес, и соответственно назначения этого отчета в качестве страницы по умолчанию.

#4 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 04 Ноябрь 2015 - 12:41

С возможностью захода по переданному $_GET паролю и логину я уже понял, что это возможно. Прописать страницу пользователю, куда его после этого должна направить система, тоже. Вопрос в другом. Человек заходит с мобильного телефона и управление перехватывает ваша версия для мобильного устройства, а мне надо, чтобы управление передавалось моему скрипту. Как это можно сделать через добавление отчета, чтобы переадресация проходила в фоновом режиме и не надо было ничего нажимать? Создать таблицу из одного поля, куда вписать логин пользователя и на функцию, запускаемую по событию "при выводе поля на экран" и при наличии фильтра по текущему пользователю перенаправлять на нужный php с нужными GET-параметрами?
В общем-то, наверно, я сам методом рассуждения и ответил на свой вопрос. Пойду пробовать.

#5 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 04 Ноябрь 2015 - 22:58

Просмотр сообщенияАлександр Пономарев (04 Ноябрь 2015 - 12:41) писал:

С возможностью захода по переданному $_GET паролю и логину я уже понял, что это возможно.

Собираетесь передавать логин и пароль в адресной строке? Здорово.
Это почти что "ключ от квартиры, где деньги лежат" :huh:

Тогда уж и ссылку можно где то разместить с логином и паролем в URL - чтобы сразу и без набора таковых. Со страницы поиска гугла или яши

Сообщение отредактировал maksn: 04 Ноябрь 2015 - 23:04

"...Сижу, паяю. CRM починяю..."
Мои разработки

#6 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 08 Ноябрь 2015 - 18:34

Не не совсем так. У меня система авторизации такая: пользователь вводит адрес почты и если он есть в базе, на него высылается ссылка с разовым логином и хэшем. По ссылке он заходит в скрипт, который подтягивает из базы логин и пароль и передает их странице login методом GET. Согласен, что надежнее методом POST. Но я исхожу из того, что если заход по разовой ссылке, то письмо получит тот, кто имеет право входить. Я бы не городил весь этот огород, если бы знал содержание скрипта login.php и мог его немного подкорректировать под свои задачи.

Между тем, пока я так и не смог перехватить управление после входа с мобильного устройства. Есть один вариант, но я его боюсь применять. Любая ошибка там влечет за собой невозможность войти в базу для ее исправления. Приходится обращаться к админам сервиса.

Какие мысли насчет того, как еще можно перехватить? Сейчас попробую установить переадресацию при входе на страницу и там джавой переслать на скрипт. Может получится.

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Ноябрь 2015 - 12:49

Цитата

Между тем, пока я так и не смог перехватить управление после входа с мобильного устройства

Чем вас не устраивает то предложенный мной вариант с перенаправлением в коде представления? Или я что-то не так понял из вашей задачи?

#8 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 09 Ноябрь 2015 - 19:27

Я сделал таблицу ролей и фильтр, который доступен пользователю с данной ролью. Это позволяет мне выводить при обращении к таблице по умолчанию (задаю в user) выводить это поле при начале работы. Там я сделал вот такое вычисление:

if ($line['Группа доступа']=1) {
  $url="https://********.clientbase.ru/main.php";
  header("Location: " . $url);
  exit();
}

Когда захожу с десктопа, все срабатывает. Когда с мобильного телефона (я все это затеял именно для захода с него и написал обработку на jQuery mobile), ваша программа перехватывает управление до меня и передает его файлу m.menu.php, откуда я уже не могу его перехватить. Как вариант предлагаю сделать поле "Сценарий для мобильного" и "Сценарий для планшета" в системной настройке. Если они не заполнены, запускаются ваши файлы по умолчанию. Если указан внешний файл, управление передается ему.

У меня сдача проекта застопорилась из-за того, что я не могу это сделать.

Если я указываю

$config['script_noauth'] = 0;

то проблема пропадает, но я оказываюсь "вне" окружения и не могу авторизовываться внутренними средствами программы. Мне приходится писать в параллель свой аналог таблицы user

Может быть вы подскажете, как отключить m.menu.php и подключить свой, не меняя самой системы?

Сообщение отредактировал Александр Пономарев: 09 Ноябрь 2015 - 19:30


#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Ноябрь 2015 - 09:11

Хм, т.е. "страница по умолчанию" в мобильной версии не работает? По любому вначале в меню отправляет? Тогда не знаю честно говоря.

#10 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 14 Ноябрь 2015 - 16:32

Да какие проблемы добавить два поля и условие в common.php?





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных