Grails acegi插件用户推荐

时间:2010-01-29 14:23:33

标签: security grails spring-security

我即将为Grails应用添加安全性,我想从您的经验中了解最佳方法:

  1. 向Person Domain类添加字段(例如电话,地址等)
  2. 创建一个独立的Domain类并将其一对一映射到Person类

2 个答案:

答案 0 :(得分:0)

我建议您使用http://grails.org/plugin/acegi插件,并在User类中添加属性,如果它们与帐户的概念直接相关,并且每次访问用户时加载它们都是有意义的。

请记住,只要用户登录,用户对象就会在会话中存在,这意味着它将与hibernate会话断开连接(您不能只是在其上调用save),并且还会如果您对应用程序进行集群,则需要可序列化。

我不会在我的用户对象中添加电话号码或地址,但我可能会添加电子邮件地址(您可能需要通过电子邮件在某个时间搜索用户)或链接到个人资料图片(因为您可能会显示此信息)遍布您的网站,不想继续加载它)。

我喜欢保持用户对象的小,避免为包含用户ID的每个表添加访问器的诱惑。

答案 1 :(得分:0)

我们使用的数据模型具有针对电话,地址和其他相关属性的单独域类,并使用延迟加载将它们关联到用户域。这样可以在控制对象大小的同时实现我们所需的可访问性。