我有问题。我想用 Apache CFX 2.75 实现 OAuth。在“Apache CFX 2.75”中有一个名为“oauth”(服务器和客户端)目录的示例。[Apache CFX 网站][1] 我让它在 Jetty 上运行,但我想将客户端和服务器示例都移动到 Glassfish 和网豆。一切都很好并且工作正常,但只有最后一步“/auth/resources/person/get/john”和“/auth/resources/person/modify/john”给出了500个代码并且错误是
"An Authentication object was not found in the SecurityContext" .
当我在 glassfish 和 jetty 中调试示例代码时,
在“demo.oauth.server.spring.SpringOAuthAuthenticationFilter”类中,第 51 行 ==>
"List<String> authorities = (List<String>)request.getAttribute(OAUTH_AUTHORITIES);"
在 Glassfish 中返回空列表。但在 Jetty 中,返回角色 ROLE_USER、ROLE_ADMIN。它不设置属性“OAUTH_AUTHORITIES”。我无法解决问题,Glassfish 应该是什么?我不会更改代码或 xml 配置中的任何内容。
你能给我建议吗?
注意:所有代码都是此链接中的示例 ==>"[Apache CFX 2.75][2]" 。只有我添加“sun_web.xml”以将项目部署到 Glassfish。
http://cxf.apache.org/cxf-275-release-notes.html
http://www.apache.org/dyn/closer.cgi?path=/cxf/2.7.5/apache-cxf-2.7.5.zip