我即将为Grails应用添加安全性,我想从您的经验中了解最佳方法:
答案 0 :(得分:0)
我建议您使用http://grails.org/plugin/acegi插件,并在User类中添加属性,如果它们与帐户的概念直接相关,并且每次访问用户时加载它们都是有意义的。
请记住,只要用户登录,用户对象就会在会话中存在,这意味着它将与hibernate会话断开连接(您不能只是在其上调用save),并且还会如果您对应用程序进行集群,则需要可序列化。
我不会在我的用户对象中添加电话号码或地址,但我可能会添加电子邮件地址(您可能需要通过电子邮件在某个时间搜索用户)或链接到个人资料图片(因为您可能会显示此信息)遍布您的网站,不想继续加载它)。
我喜欢保持用户对象的小,避免为包含用户ID的每个表添加访问器的诱惑。
答案 1 :(得分:0)
我们使用的数据模型具有针对电话,地址和其他相关属性的单独域类,并使用延迟加载将它们关联到用户域。这样可以在控制对象大小的同时实现我们所需的可访问性。