3
在Spring中是否存在“getCurrentUser
”方法来访问当前是请求的一部分的用户 - 即使该用户的名称没有作为Web请求的一部分传递?在Spring中,您如何获取当前用户的凭据不是当前http请求的一部分?
在Spring中是否存在“getCurrentUser
”方法来访问当前是请求的一部分的用户 - 即使该用户的名称没有作为Web请求的一部分传递?在Spring中,您如何获取当前用户的凭据不是当前http请求的一部分?
既然你已经用spring-security标记了你的问题,我假设你的问题在同一个上下文中。通过弹簧安全,您可以检索当前用户:
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserDetails userDetails = null;
if (principal instanceof UserDetails) {
userDetails = (UserDetails) principal;
}
String userName = userDetails.getUsername();
此外,Spring Security通过'HttpServletRequest.getPrincipal()'公开其身份验证数据。 – axtavt 2010-08-19 16:21:56
这对我不起作用getAuthentication()返回null,即使用户已登录http://stackoverflow.com/q/7811200/106261 – NimChimpsky 2011-10-18 17:58:17