2009-07-03 103 views
0

我使用自己的UserDetailsS​​ervice接口实现从数据库加载用户对象,并将其作为UserDetail放入我的SecurityContext中。 User对象是一个分离的Hibernate对象。Spring Security UserDetails最佳实践

当我想访问经过身份验证的用户的延迟加载关系时,我需要从SecurityContext获取它,并通过加载其ID或合并将它重新附加到Hibernate会话中。

你在哪里通常在Spring MVC或Spring WS应用程序中执行此操作?在Controller中,这意味着我必须将UserDAO注入其中,或者将ID传递给Service层以将其加载到那里?

回答

3

这些都不属于控制器。把它放在服务层。

控制器真的是视图的一部分。如果您更改视图技术,则不应改变服务的正确操作。把它放在那里,并在控制器注入服务。

出于同样的原因,DAOs不属于控制器。