Intereting Posts

Интеграция ACL Joomla

Кто-нибудь знает какой-либо способ интеграции с Joomla ACL, в частности, создавать пользователей и регистрировать пользователей программно в контроллере и модулях настраиваемого компонента.

Я искал Google, но либо задаю неправильные вопросы, никто не документировал, как это сделать, или это невозможно (что я не верю!)

Почему вы можете спросить ?! – Я разрабатываю единый знак приложения для компонента, который должен регистрировать пользователя в нескольких API при входе в систему. Несомненно, мой клиент также хочет, чтобы это работало с ACL, чтобы они могли отображать контрольный контент в интерфейсе на основе веб-сайта если пользователь вошел в систему или нет.

Так что мне нужно, чтобы это было сделано, – это создать мое собственное окно входа в систему, и при его использовании зарегистрируйте пользователя в различных системах, используя их API и зарегистрируйте их (или создайте учетную запись и запишите в) Joomla ACL.

Related of "Интеграция ACL Joomla"

Вы можете просто клонировать установленный mod_login для его части входа и использовать какой-либо вид приведенного ниже кода для создания учетной записи пользователя:

Вы можете создать пользователя следующим образом:

require_once('registration.php'); jimport('joomla.user.helper'); jimport('joomla.application.component.modeladmin'); $data = array( 'username' => 'jdoe', 'name' => 'Joan Doe', 'email1' => jdoe@jdoe.com, 'password1' => 'abc123', // First password field 'password2' => 'abc123', // Confirm password field 'block' => 0, 'params' => array( 'admin_style'=>'', 'admin_language'=>'', 'language'=>'', 'editor'=>'', 'helpsite'=>'', 'timezone'=>'' ) ); $model = new UsersModelRegistration(); if(!$user = $model->register($data)) { echo $model->getError(); } 

Вы можете войти с этим:

 $app = JFactory::getApplication('site'); $credentials = array( 'username' => 'someusername', 'password' => 'somepassword' ); if(!$app->login($credentials)){ echo 'Logged in'; }else{ echo 'Not logged in'; } $app->logout(); // Log out with this $app->close(); // Close the app из $app = JFactory::getApplication('site'); $credentials = array( 'username' => 'someusername', 'password' => 'somepassword' ); if(!$app->login($credentials)){ echo 'Logged in'; }else{ echo 'Not logged in'; } $app->logout(); // Log out with this $app->close(); // Close the app 

Чтобы добавить пользовательский код в процесс входа в систему, вы можете написать простой плагин для проверки подлинности пользователя. (См. Создание плагина проверки подлинности для Joomla ) и поместите свой код в onAuthenticate() .

Чтобы добавить пользовательский код ПОСЛЕ проверки подлинности, напишите плагин пользователя (см. Раздел « Плагин / События / Пользователь» ) и используйте одно из событий, которые запускаются там.

Я не был уверен в сохранении значений ACL и получил разъяснения с этим вопросом . Речь идет о разрешениях категории, но ответ может помочь.