【问题标题】:Spring Security UserDetails Best PracticeSpring Security UserDetails 最佳实践
【发布时间】:2010-11-07 22:08:21
【问题描述】:

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

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

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

【问题讨论】:

标签: java security model-view-controller spring


【解决方案1】:

这些都不属于控制器。放在Service层。

控制器实际上是视图的一部分。如果您更改视图技术,它不应改变服务的正常运行。把它放在那里,然后在 Controller 中注入 Service。

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

【讨论】:

    猜你喜欢
    • 2018-04-24
    • 2011-08-26
    • 2013-04-29
    • 2015-03-18
    • 2015-09-11
    • 2020-03-08
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多