概括
如何使用 Spring Web 服务和 Spring Security 获取 Web 服务客户端的会话?
细节
提交后
<form method="POST" action="<c:url value="/j_spring_security_check" />">...</form>
我注意到您可以:
public class MyUserDetailsService implements UserDetailsService {}
这将允许您覆盖方法,例如loadUserByUsername(String username)
因此能够检索提交的用户名并进行数据库查找以返回用户对象。
然而,我的问题是我不确定在哪里SecurityContextHolder
设置。我可以通过使用这行代码来获取用户对象:
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
但我不确定它是如何设置的。我想知道提交上述表格后的流程,以便确定如何SecurityContextHolder
设置。
我想知道这一点的原因是因为我想将它用作 Web 服务客户端身份验证的“会话”,而不是让客户端在每个请求中重新提交凭据。
春季版:3.0.2.RELEASE