我正在使用grails spring安全插件。当我登录时,我获取用户名和标记和角色作为json响应。随着这些属性,我想获得一些其他的属性,如名字,姓氏等。我怎样才能得到这些值作为JSON响应登录到应用程序使用Grails的春天安全休息插件?当使用grails spring security rest插件登录时获取用户详细信息
1
A
回答
1
可以添加标记的权利要求,我一般会建议对修改所述插件代码,但
可以(通过重写它或优选地)通过在
AbstractJwtTokenGenerator
增加新的权利要求添加期望的细节
JWTClaimsSet generateClaims(UserDetails details, String serializedPrincipal, Integer expiration) {
JWTClaimsSet claimsSet = new JWTClaimsSet()
claimsSet.setSubject(details.username)
log.debug "Setting expiration to ${expiration}"
Date now = new Date()
claimsSet.setIssueTime(now)
use(TimeCategory) {
claimsSet.setExpirationTime(now + expiration.seconds)
}
claimsSet.setCustomClaim('roles', details.authorities?.collect { it.authority })
claimsSet.setCustomClaim('principal', serializedPrincipal)
//claimsSet.setCustomClaim('username', details.getUsername()) //added customized user name claim
log.debug "Generated claim set: ${claimsSet.toJSONObject().toString()}"
return claimsSet
}
注:主题在claimsSet.setSubject(details.username)
已经包含了用户名
+1
谢谢。我会试试这个 – Jagadeesh
0
据docs:
如果你想呈现更多的信息在你的JSON响应, 你必须:
配置替代的UserDetailsService的bean获取你想要的更多信息,以及把它放在一个主要的对象。
配置从restAuthenticationToken.principal对象中读取该信息的替代accessTokenJsonRenderer。
相关问题
- 1. Spring Security Grails在登录时获取用户详细信息
- 2. 当前用户登录详细信息
- 3. 在Spring Security OpenID中,我如何获取用户详细信息?
- 4. 使用Spring Security登录登录时的用户代理信息
- 5. 在用户登录Facebook后获取用户详细信息
- 6. ActiveDirectoryLdapAuthenticationProvider:获取用户详细信息
- 7. 获取最后登录详细信息
- 8. 从Facebook登录用户详细信息
- 9. Android:G +登录并获取详细信息
- 10. Twitter集成 - 如何获取用户登录详细信息?
- 11. 如何从Facebook登录获取用户详细信息?
- 12. 获取已登录的用户详细信息在sharepoint c#webpart
- 13. 获取登录用户的详细信息
- 14. 从Push API登录获取用户详细信息
- 15. 通过会话获取登录用户的详细信息
- 16. grails spring security openId插件:无法登录使用Gmail帐户
- 17. SugarCRM,通过AJAX调用获取当前登录的用户详细信息
- 18. Grails的Spring Security的自定义用户详细信息豆类得到重写
- 19. 如何从spring security 3.1和Active Directory获取用户详细信息(LDAP)
- 20. 如何在WordPress中获取博客的当前登录用户详细信息?
- 21. 如何获取当前登录的用户详细信息zend框架
- 22. Pinterest api - 获取用户详细信息
- 23. Get-ADGroupMember获取用户详细信息?
- 24. 从log.nsf获取用户详细信息
- 25. Google Api - 获取用户详细信息
- 26. 从MGTwitterEngine获取用户详细信息
- 27. Instagram获取用户详细信息
- 28. Facebook API:获取用户详细信息
- 29. SPNEGO获取用户详细信息
- 30. 从facebook获取用户详细信息
据我知道你需要索赔添加到令牌用户的详细信息,您可以用'springSecurityService?.currentUser',并从中获取用户详细信息有 – shaydel
在登录时本身我想得到的细节,而不是使另一个请求登录用户 – Jagadeesh
@Jagadeesh你解决了吗? – mrabbani