0 Пользователей и 1 Гость просматривают эту тему.
  • 23 Ответов
  • 2392 Просмотров
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Доброе время суток,

Есть сайт на Joomla, с некоторым количеством пользователей.
Хочу сделать еще несколько ресурсов на которые заходили бы используя базу пользователей Joomla

Мне важно знать:
1. Пользователь прошел авторизацию
2. пользователь не заблокирован
3. ИД пользователя
*

zikkuratvk

  • Глобальный модератор
  • 4819
  • 344 / 2
  • Обслуживаем проекты - дорого.
Re: Joomla как система авторизации
« Ответ #1 : 11.02.2014, 12:04:08 »
Вообще не известно что с чем вы хотите интегрировать.
По идее для ваших целей должен подойти JFusion, но по вашему описанию, может быть все что угодно, вплоть до разработки на заказ.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #2 : 11.02.2014, 13:40:39 »
Вообще не известно что с чем вы хотите интегрировать.
По идее для ваших целей должен подойти JFusion, но по вашему описанию, может быть все что угодно, вплоть до разработки на заказ.
JFusion может соединить только с теми системами что он знает

Мне по хорошему нужно что бы я передал Joomla логин и пароль пользователя, а в ответ получил файл с данными которые я буду парсить внешним ресурсом
*

zikkuratvk

  • Глобальный модератор
  • 4819
  • 344 / 2
  • Обслуживаем проекты - дорого.
Re: Joomla как система авторизации
« Ответ #3 : 11.02.2014, 14:07:06 »
JFusion может соединить только с теми системами что он знает

Мне по хорошему нужно что бы я передал Joomla логин и пароль пользователя, а в ответ получил файл с данными которые я буду парсить внешним ресурсом
Если память не изменяет, то у него есть API которое позволяет интегрировать его с любой системой.
А тот вариант, который вы хотите сделать, скорей всего будет не безопасен. Как минимум надо систему токенов предусматривать.
Вообще вам надо конкретизировать, что вы хотите сделать:
Какую систему связать с Joomla и как это должно выглядеть, возможно кто-то и подскажет дельное.
« Последнее редактирование: 11.02.2014, 14:15:37 от zikkuratvk »
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #4 : 11.02.2014, 17:17:13 »
Если память не изменяет, то у него есть API которое позволяет интегрировать его с любой системой.
А тот вариант, который вы хотите сделать, скорей всего будет не безопасен. Как минимум надо систему токенов предусматривать.
Вообще вам надо конкретизировать, что вы хотите сделать:
Какую систему связать с Joomla и как это должно выглядеть, возможно кто-то и подскажет дельное.
я хочу сделать приложение для Android которое будет работать с сайтом, мне нужно прикрутить авторизацию, но я не смог найти нормальной документации по API Joomla с примерами
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #6 : 12.02.2014, 14:24:57 »
Вот примеры Зайти под пользователем
Но без логики это только примеры  ;D
насколько я понял Joomla не дает запускать такие вещи обращаясь напрямую к файлу с кодом, или нет?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Joomla как система авторизации
« Ответ #7 : 12.02.2014, 15:03:52 »
насколько я понял Joomla не дает запускать такие вещи обращаясь напрямую к файлу с кодом, или нет?
Вы про вот это?
Код: php
JFactory::getUser()->load('42');

Если подключить фреймворк, то скорее всего можно такое проделывать.
[Решено] Подключение фреймворка Joomla в стороннем скрипте и доступ к БД
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Joomla как система авторизации
« Ответ #8 : 12.02.2014, 15:04:47 »
не совсем пронятно о чем вы
зарегистрированный пользователь имеет свой уникальный ид
если база пользователей одна то авторизовать пользователя с нужным ид на других сайтах
Цитировать
не дает запускать такие вещи обращаясь напрямую к файлу с кодом
вы можете как сами писать реализацию так и подключать задействовать API Joomla
на все эти вопросы
Цитировать
1. Пользователь прошел авторизацию
2. пользователь не заблокирован
3. ИД пользователя
ответ на эти пункты
Код: php-brief
<?php echo JFactory::getUser()->id; ?>
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Joomla как система авторизации
« Ответ #9 : 12.02.2014, 15:10:37 »
Уху, ТС так точно и не сформулировал.

Сначала:
Цитировать
Мне важно знать:
1. Пользователь прошел авторизацию
2. пользователь не заблокирован
3. ИД пользователя

Потом:
Цитировать
Мне по хорошему нужно что бы я передал Joomla логин и пароль пользователя, а в ответ получил файл с данными которые я буду парсить внешним ресурсом

И далее:
Цитировать
я хочу сделать приложение для Android которое будет работать с сайтом, мне нужно прикрутить авторизацию, но я не смог найти нормальной документации по API Joomla с примерами

В итоге - непонятно, Спилберг!
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #10 : 12.02.2014, 15:48:56 »
Уху, ТС так точно и не сформулировал.

Сначала:
Потом:
И далее:
В итоге - непонятно, Спилберг!

1. Сделал файл user.php, положил в корень сайта
2. Через стандартную форму Joomla вошел на сайт
3. В браузере набрал http://site/user.php и вижу пустой экран - что я делаю не так?

КОД USER.PHP
Код: php
<?php
    /* Initialize Joomla framework */
    if (!defined('_JEXEC')) {
        define( '_JEXEC', 1 );
        define('JPATH_BASE', dirname(__FILE__) );
        define( 'DS', DIRECTORY_SEPARATOR );
        /* Required Files */
        require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
        require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
        /* To use Joomla's Database Class */
        require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
        require_once ( JPATH_LIBRARIES.DS.'joomla'.DS.'import.php'); // Joomla library imports.
        /* Create the Application */
        $app = JFactory::getApplication('site')->initialise();
    }
?>

<?php

//для текущего пользвоателя
$user =& JFactory::getUser();
echo "ИД группы текущего пользователя:".$user->get( 'gid' );
 
 
if ($user->get( 'guest' )) {
    echo "Пользователь проходимец или просто гость";
 
} else {
    echo "Пользователь зарегистрирован";
    echo "Дата последнего визита:".$user->get('lastvisitDate');
    echo "Дата регистрации:".$user->get('registerDate');
    echo "Имя пользователя/никнейм:".$user->get('name'). "/".$user->get('username');
    echo "ID пользователя:".$user->get('id');
    echo "Тип пользователя:".$user->get('usertype');
 
    echo "email пользователя:".$user->get('email');
    echo "MD5 хеш от пароля:".$user->get('password');
}
?>

P.S. может кто подскажет как получить хеш для пароля как у Joomla
« Последнее редактирование: 12.02.2014, 15:54:02 от kav »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Joomla как система авторизации
« Ответ #12 : 12.02.2014, 16:51:34 »
Код: php-brief
<?php
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));
define('DS', DIRECTORY_SEPARATOR);
require_once ( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once ( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );

JFactory::getApplication('site')->initialise();
$user = JFactory::getUser();
var_dump($user );
только опять без логики и не смотрите решения которые привел ранее
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #13 : 12.02.2014, 17:28:10 »
белый экран - смотрите логи.

Вот библиотека пользователя, там найдете нужные методы:
https://github.com/joomla/joomla-cms/tree/staging/libraries/joomla/user

ругался на
Код: php
require_once ( JPATH_LIBRARIES.DS.'joomla'.DS.'import.php');
закомментировал - работает.

как мне сформировать MD5 хеш пароля введенного пользователе что бы сравнить с MD5 хешем из базы? или может можно как то Joomle передать пароль, а она вернет вошел или нет
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #14 : 13.02.2014, 13:27:53 »
Вот библиотека пользователя, там найдете нужные методы:
https://github.com/joomla/joomla-cms/tree/staging/libraries/joomla/user
Никак не могу понять что там происходит.
Не ужели у Joomla нет простой функции в которую можно передать логин и пароль, а в ответ получить прошла авторизация или нет?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Joomla как система авторизации
« Ответ #15 : 13.02.2014, 13:45:23 »
kav, неужели такой лентяй?
Перед тобой лежит дистрибутив системы. Весь код находится там. Неужели так трудно запустить поиск по всем файлам с нужным тебе словом?
Вы до сих пор не написали логику того как ваше приложение должно работать.
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #16 : 13.02.2014, 13:52:03 »
kav, неужели такой лентяй?
Перед тобой лежит дистрибутив системы. Весь код находится там. Неужели так трудно запустить поиск по всем файлам с нужным тебе словом?
Вы до сих пор не написали логику того как ваше приложение должно работать.

я нашел в документации по API нужный мне функционал.
« Последнее редактирование: 13.02.2014, 13:56:11 от kav »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Joomla как система авторизации
« Ответ #17 : 13.02.2014, 13:59:56 »
Не прошло и полгода как привели ссылку дав нам понять что используете Joomla 1.5
Где описание логики вашего приложения. Или вы думаете здесь телепаты сидят и все знают о чем вы думаете
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #18 : 13.02.2014, 14:11:26 »
Не прошло и полгода как привели ссылку дав нам понять что используете Joomla 1.5
Где описание логики вашего приложения. Или вы думаете здесь телепаты сидят и все знают о чем вы думаете
я использую Joomla 3.2.2

может подскажите почему
Код: php
$login = $_POST["login"];

$user = JFactory::getUser($login);
$block = $user->get('block');
echo "block: ".$block;
ничего не выводит?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Joomla как система авторизации
« Ответ #19 : 13.02.2014, 14:44:14 »
@kav у нас тут разговор слепого с глухим. Федор уже вроде как пояснил, что по фотографиямкускам кода мы не работаем.
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Re: Joomla как система авторизации
« Ответ #20 : 13.02.2014, 14:53:23 »
@kav у нас тут разговор слепого с глухим. Федор уже вроде как пояснил, что по фотографиямкускам кода мы не работаем.
Прошу прощения

А с кодом я разобрался, нужно было
вместо:
Код: php
$user = JFactory::getUser($login);
использовать:
Код: php
$user = JUser::getInstance($login);

P.S. В итоге код который:
1. Проверяет авторизацию
2. Проверяет не заблокирован ли пользователь
Код: php
<?php
    /* Initialize Joomla framework */
    if (!defined('_JEXEC')) {
        define( '_JEXEC', 1 );
        define('JPATH_BASE', dirname(__FILE__) );
        define( 'DS', DIRECTORY_SEPARATOR );
        /* Required Files */
        require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
        require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
        /* To use Joomla's Database Class */
        require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
        /* Create the Application */
        $app = JFactory::getApplication('site')->initialise();
    }


if(isset($_POST["pass"])) {

$login = $_POST["login"];
$password = $_POST["pass"];
$ress = 0;

$user = JUser::getInstance($login);
$block = $user->get('block');

if($block==0) {
$credentials = array( 'username' => $login, 'password' => $password);
    $login_site = JFactory::getApplication('site');
    if($login_site->login($credentials, $options=array())) {
      echo "You are login";
      $ress = 1;
    }
    else {
      echo "Login faild";
      $ress = 0;
    }
  }
  else {
    echo "You are block";
    $ress = 0;
  }
}
?>
Результатом работы будет содержание переменной $ress, если в ней 0 тогда все норм, если 1 все плохо
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Joomla как система авторизации
« Ответ #21 : 13.02.2014, 15:04:48 »
Ну вот видите, как все красиво. Разобрались же и без нас. Не все так сложно. как это кажется.
*

Ellis

  • Новичок
  • 9
  • 2 / 0
Re: Joomla как система авторизации
« Ответ #22 : 29.04.2018, 08:21:28 »
Цитировать
P.S. В итоге код который:
1. Проверяет авторизацию
2. Проверяет не заблокирован ли пользователь
Код: php
<?php
    /* Initialize Joomla framework */
    if (!defined('_JEXEC')) {
        define( '_JEXEC', 1 );
        define('JPATH_BASE', dirname(__FILE__) );
        define( 'DS', DIRECTORY_SEPARATOR );
        /* Required Files */
        require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
        require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
        /* To use Joomla's Database Class */
        require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
        /* Create the Application */
        $app = JFactory::getApplication('site')->initialise();
    }


if(isset($_POST["pass"])) {

$login = $_POST["login"];
$password = $_POST["pass"];
$ress = 0;

$user = JUser::getInstance($login);
$block = $user->get('block');

if($block==0) {
$credentials = array( 'username' => $login, 'password' => $password);
    $login_site = JFactory::getApplication('site');
    if($login_site->login($credentials, $options=array())) {
      echo "You are login";
      $ress = 1;
    }
    else {
      echo "Login faild";
      $ress = 0;
    }
  }
  else {
    echo "You are block";
    $ress = 0;
  }
}
?>
Результатом работы будет содержание переменной $ress, если в ней 0 тогда все норм, если 1 все плохо

Уважаемые знатоки, подскажите, для Joomla 3.7  этот скрипт будет работать?
Для эксперимента изменила POST на GET и в браузере   вызвала скрипт site_name/name_script/?login=value1&pass=value2

Белый экран и в логах ничего не нашла. Буду благодарна любым советам )
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Joomla как система авторизации
« Ответ #23 : 29.04.2018, 11:10:30 »
del
« Последнее редактирование: 04.05.2018, 21:58:19 от Aleks.Denezh »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как и чем можно обращаться с запросами из Joomla к GraphQL?

Автор bmf1982

Ответов: 0
Просмотров: 712
Последний ответ 03.10.2019, 15:46:00
от bmf1982
Нужна помощь в доработке модуля под Joomla 3

Автор kik84

Ответов: 5
Просмотров: 2364
Последний ответ 30.01.2018, 22:40:30
от Елeна
Модуль авторизации OpenId

Автор greytm

Ответов: 7
Просмотров: 3079
Последний ответ 04.11.2016, 00:04:31
от KypuHa9_Hora
Как отучить Joomla стартовать session для гостей?

Автор commeta

Ответов: 8
Просмотров: 3029
Последний ответ 20.08.2015, 14:06:38
от acyp
Модуль отправки сообщений для Joomla 1.5 и 2.5 (ajax)

Автор gaalferov

Ответов: 7
Просмотров: 5818
Последний ответ 02.06.2015, 18:05:52
от gaalferov