我想在我的应用中使用Grails Spring Security Plugin。它创建一个代表用户的域类。我在互联网上的研究表明,将所有数据都放在这个类中是不好的,因为它一直在加载。
我的简单解决方案是将数据打包到另一个类中,然后在安全用户类中进行解析。这是一个好方法吗?
答案 0 :(得分:1)
是的,这是一个很好的方法。我经常使用Profile类来附加其他用户配置文件数据。我还直接向User类添加了其他属性。这可能取决于你所谈论的额外数据量。
答案 1 :(得分:1)
它不是“一直加载”,它是在您进行身份验证时加载的。用户名,密码和角色名称用于构建存储在HTTP会话中的Authentication
实例。检查是否具有各种URL的访问权限。
但是,将数据划分为与安全相关的用户类和关联的配置文件类是有意义的,如@Gregg所述。
您可以使用自定义userDetailsService
实现来缓存Authentication
中User类的数据,以避免从数据库中重复加载整个内容;见http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/11%20Custom%20UserDetailsService.html