2015-02-11 2 views
1

Среднее программное обеспечение Mean.io имеет встроенную пользовательскую модель в пользовательском пакете. Какова наилучшая практика для расширения этой модели пользователя, если я хочу добавить к ней дополнительные данные?Mean.io - Лучшая практика для расширения модели пользователя

Мой опыт работы с Django заставил меня создать «профиль», в котором был внешний ключ, указывающий на объект пользователя, к которому он принадлежал. Мне нравится этот подход, потому что я не касаюсь пользовательского пакета таким образом. Но это лучшая практика? Если это так, как я могу обеспечить создание профиля doc при создании пользовательского документа? Если нет, то что?

ответ

5

Я не уверен, что решение qm69 будет лучшим для будущей совместимости со средним значением. В документации среднего уровня. http://learn.mean.io/ говорится, что разработчик не должен изменять какие-либо базовые пакеты, включая пакет пользователя.

Образец mean.io предназначен для реализации любых и всех расширений в качестве настраиваемого пакета. И переопределить представления по умолчанию с помощью метода $ viewPathProvider.override.

Во-вторых, пользовательский пакет является в основном функцией безопасности/аутентификации, а не реализацией профиля, которая регулярно получает обновления. Изменение этого, скорее всего, нарушит будущие исправления и риск появления ошибок безопасности.

Моим советом было бы реализовать профиль с использованием системы пакетов и добавить зависимость службы для службы пользователя. Я сделал это в предыдущих проектах, и он работает хорошо.

Для реализации пакета профиля, выполните следующие действия:

1) Создайте пользовательский пакет под названием профиля, используя средний профиль пакета.

2) Внедрение модели/просмотра/управления для всех требований к профилю в пользовательском пакете. НЕ ДОЛЖЕН АЛЬТЕРНУЮ В ПОЛЬЗОВАТЕЛЕ.

2) Используйте инъекцию зависимостей, чтобы включить глобальную сервисную службу. Это даст вам доступ к данным Global.user, поэтому вам, скорее всего, даже не потребуется использовать службы пользователя.

3) Переопределите любые пользовательские представления, используя метод $ override, упомянутый в приведенном выше документе doco.

Надеется, что это помогает;)

+0

Энди, не могли бы вы поделиться своими мыслями о том, как расширить шаблон электронной почты для сброса пароля и/или изменить логику для проверки пользователя, например, я хочу, чтобы иметь длину пароля не 8- 20, но 6-8? Спасибо. – lexa

Смежные вопросы