当前位置: 首页 > 知识库问答 >
问题:

如何使用Spring Security 3检索用户详细信息?

汪翰墨
2023-03-14
www.someurl.com - public access not intercepted by Spring Security 3.
www.someurl.com/admin  - intercepted by Spring Security 3. Works fine. 

我登录到www.someurl.com/admin下的一个页面。然后我在同一个窗口选项卡中将url更改为www.someurl.com。我在同一个http会话中工作,所以我希望能够检索用户登录详细信息。

Authentication a=SecurityContextHolder.getContext().getAuthentication();
userDetails=(UserDetails) a.getPrincipal();

{spring_security_context=org.springframework.security.core.context.securitycontextimpl@ed20eaf7:Authentication:org.springframework.security.authentication.usernamePasswordAuthenticationToken@ed20eaf7:principal:org.springframework.security.core.userdetails.user@586034f:username:admin;password:[PROTECTED];password:4:RemoteIPAddress:127.0.0.1;SessionID:43A582157C5813018632ACDD7499CF7D;授予权限:管理员、作者、编辑、读者

共有1个答案

严言
2023-03-14

如果您想像现在这样获得安全细节,Spring security必须拦截url,否则就不会有任何安全信息。您可以将以下内容添加到Spring Security配置中:

<security:http pattern="/" security='none' />

这意味着spring security将让每个人都看到根url(无论是否登录),但spring security将处理该url,这意味着针对根url的控制器将能够从SecurityContextholder获得当前用户登录的详细信息

 类似资料:
  • 我正在尝试使用Microsoft Graph API从AD检索所有用户。 https://graph.microsoft.com/v1.0/users 但是这只是从整个用户列表中返回一些前n行。 我猜它在那里使用了一些分页。但没有找到如何在查询中指定页码或这些详细信息作为参数。 https://learn.microsoft.com/en-us/graph/api/user-list?视图=图形-

  • 我最近在我的几个Azure函数上配置了应用程序洞察,这是很棒的,现在我可以看到我的函数什么时候失败以及失败的频率。我已经在函数中记录了一些重要的数据, 我们配置App Insights的部分原因是因为我们在这个标准功能视图中只能看到数量有限的响应。我在这里查找调用详细信息和日志信息,但似乎找不到它。我找错地方了吗?

  • 我是flutter和fire base的新手,所以请耐心等待。我在我的应用程序上使用firest和flutter进行电子邮件注册,注册时将一些附加字段保存到firest。我想检索这些字段以显示在用户配置文件上。 保存到用户集合的字段的密钥标识符是注册时自动生成的用户 ID。 我在我的小部件构建上下文中 我的get关联数据方法是: } 检索用户详细信息 } 我尝试过在_userdetails中将.t

  • count Number size Number liveSize Number

  • 我可以使用razorpay API获取付款ID。。。但现在我想获取其他付款详细信息,而不是付款ID。。。我怎样才能从Razorpay拿到数据

  • 嗨,我尝试用InMemoryDao获取userDetailsService。但是我得不到,我试过@Autowired,@ Inject(userdailsservice,InMemoryDaoImpl,InMemoryManager...)但是我不能让它工作。 有公共类安全扩展WebSecurityC 只尝试了WebSecurityCon