Grails acegi плагин рекомендации пользователя - PullRequest
1 голос
/ 29 января 2010

Я собираюсь повысить безопасность моего приложения Grails, и я хотел бы узнать из вашего опыта, какой лучший подход:

  1. Добавление полей в класс Person Domain (таких как телефон, адрес и т. Д.)
  2. Чтобы создать независимый класс Домена и сопоставить его один к одному с классом Person

Ответы [ 2 ]

0 голосов
/ 05 февраля 2010

Мы используем модель данных, которая имеет отдельные классы домена для телефона, адреса и других связанных свойств, и привязываем их к домену пользователя с помощью отложенной загрузки. Это обеспечивает доступность, в которой мы нуждались, сохраняя при этом размер объекта под контролем.

0 голосов
/ 29 января 2010

Я предлагаю вам использовать плагин http://grails.org/plugin/acegi и добавлять свойства в класс User, если они имеют прямое отношение к концепции учетной записи и где имеет смысл загружать их каждый раз, когда вы обращаетесь к пользователю.

Помните, что пользовательский объект будет существовать в сеансе до тех пор, пока пользователь вошел в систему, и это означает, что он будет отключен от сеанса гибернации (вы не можете просто вызвать сохранение для него), а также будет должен быть сериализуемым, если вы кластеризуете приложение.

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

Мне нравится держать объект пользователя маленьким и избегать соблазна добавлять методы доступа для каждой таблицы, содержащей идентификатор пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...