1

Тема: ZF2 Робота з користувачами і розподіл прав

Підкажіть будь-ласка які краще використовувати модулі для реєстрації/авторизації і розподілу прав між користувачами... Чи можливо краще самому написати такі модулі...
P.S. Мені сподобався модуль BjyAuthorizer але виникли проблеми при роботі без модуля ZfcUser(так як хотів написати свій модуль реєстрації). І чи взагалі може працювати BjyAuthorizer без ZfcUser

2

Re: ZF2 Робота з користувачами і розподіл прав

https://github.com/bjyoungblood/BjyAuth … erface.php
- пишете Клас провайдер який реалізує цей інтерфейс
Потім в своїй апліції перевизначаєте
        // identity provider service name
        'identity_provider'     => 'BjyAuthorize\Provider\Identity\ZfcUserZendDb',
з оцього конфігу:
https://github.com/bjyoungblood/BjyAuth … config.php

3

Re: ZF2 Робота з користувачами і розподіл прав

В своїй практиці просто писав дочірній клас від ZfcUser в якому розширював все що мені потрібно. Навіть кілька різних класів для адмінки і клієнської частини.

4 Востаннє редагувалося o_0ps (23.02.2015 17:20:14)

Re: ZF2 Робота з користувачами і розподіл прав

Vo_Vik написав:

В своїй практиці просто писав дочірній клас від ZfcUser в якому розширював все що мені потрібно. Навіть кілька різних класів для адмінки і клієнської частини.

Ооо, а ось з цього моменту можна детальніше?)
Я б хотів змінити/розширити контроллер https://github.com/ZF-Commons/ZfcUser/b … roller.php...
Як мені це зробити? Який клас наслідувати і т. д. І якщо можна то з простеньким прикладом)

Просто теперішній контроллер мене не задовільняє по тій причині, що реєстрація користувача відбувається, а вот роль в БД для BjyAuthorizer не добавляється , при тому що проходить редірект на сторінку зареєстрованого користувача і в результаті - помилка доступу...

5

Re: ZF2 Робота з користувачами і розподіл прав

Ну ваша проблема вирішується ще легше
В любому вашому Module.php

public function onBootstrap(MvcEvent $e)
    {
        // This method is called once the MVC bootstrapping is complete
        $services = $e->getApplication()->getServiceManager();
        $module = $this;
        // Post register actions
        $services->get('zfcuser_user_service')
            ->getEventManager()
            ->attach('register.post', function($evt) use($e, $module) {
                $module->postRegister($evt, $e);
        });
        $services->get('ScnSocialAuth\Authentication\Adapter\HybridAuth')
            ->getEventManager()
            ->attach('registerViaProvider', function($evt) use($e, $module) {
                $module->postRegister($evt, $e);
        });
    }

І тому postRegister прописуєте ролі і все що треба

    public function postRegister($evt, $e)
    {
        $application = $e->getApplication();
        // Create a role for this new user
        $user   = $evt->getParam('user');
        $updateQuery = "INSERT INTO `UserToRole` (`user_id` , `role_id`) VALUES (" . $user->getId() . " , '2');";
        $em->getConnection()->executeUpdate($updateQuery);
    }

6

Re: ZF2 Робота з користувачами і розподіл прав

Vo_Vik написав:

В своїй практиці просто писав дочірній клас від ZfcUser в якому розширював все що мені потрібно. Навіть кілька різних класів для адмінки і клієнської частини.

Ви писали що можна наслідувати ZfcUser і розширювати його, підкажіть будь-ласка як)
P.S. Якщо можна, то киньте приклад

7

Re: ZF2 Робота з користувачами і розподіл прав

http://stackoverflow.com/questions/8783 … 30#9802230
Десь так,
Робочі приклади скинути не можу, бо якби заборонено.

Суть в тому, що просто екстендите потрібний модуль і всі потрібні класи в ньому, і в конфігах прописуєте свій модуль.

Подякували: o_0ps1