使用Grails 3.3.5和Spring-security-rest 2.0.0-RC1在REST API应用程序上工作。
当我使用/ api / login登录时,得到的结果是正确的:
{
"username": "[email protected]",
"roles": [
"ROLE_USER"
],
"access_token": "qgsbpk05jfrbf33xx08m8r4govkg53d1"
}
我想在响应中添加其他信息,例如用户的姓名和姓氏。谢谢
更新感谢Evgeny向我指出了正确的方向,并阅读了手册,我还实现了UserDetailsService。从手册中:
如果要在JSON响应中呈现其他信息,则必须:
Configure an alternative userDetailsService bean that retrieves the additional information you want, and put it in a principal object. Configure an alternative accessTokenJsonRenderer that reads that information from the restAuthenticationToken.principal object.
您可以覆盖accessTokenJsonRenderer bean
class MyRestAuthTokenJsonRenderer implements AccessTokenJsonRenderer { @Override String generateJson(AccessToken accessToken){ // create response, see DefaultAccessTokenJsonRenderer.groovy from https://github.com/alvarosanchez/grails-spring-security-rest return your_formatted_json_response } }
beans = { accessTokenJsonRenderer(MyRestAuthTokenJsonRenderer) }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句