在Spring引导中嵌入XWiki Java Web应用程序

问题描述:

我的目标是将xwiki部署在基于Java spring-boot的Web应用程序的第一面。总体目标是提供RBAC并在Web APP中提供用户内容。我想Restful API将不得不用于任务。我在本地主机上安装了https://github.com/xwiki-contrib/compatibleone-wiki-nodes-demo。由于该Web应用程序使用Cassandra作为持久性存储。在Spring引导中嵌入XWiki Java Web应用程序

我有关于认证机制将如何工作的疑问。 我们在Web应用程序中使用基于Oauth的身份验证。

我是否需要将用户信息从Web App同步到XWiki?

任何帮助将不胜感激有关架构。

我想看看通过XWiki实现

http://platform.xwiki.org/xwiki/bin/view/AdminGuide/Authentication#HContainerAuthentication

提供的基于容器的身份验证假设你正在运行的XWiki实现Web应用程序,并在相同的弹簧靴子收纳自己的web应用程序,那么他们既可以利用你的首选容器提供的authn/authz服务(我想可能是jetty或者tomcat都可以)

也就是说,如果你的WebApp处理所有的用户交互,那么它可以代理请求到wiki,这将允许你就如何设定你自己的规则e authn/authz和配置文件都可以工作。

+0

感谢回复Xwiki运行在它自己的Tomcat/jetty容器上。我使用nginx来代理请求到XWiki。我已经构建了一个自定义的身份验证器,使用webapp中的access_token提供登录Xwiki,但无法这样做。 – 2015-04-16 11:12:55

+1

您应该可以将XWiki自定义身份验证器调用回Spring引导应用程序以获得authn/authz决定。我会让你的web应用程序创建一个会话,并将其与请求一起传递给xwiki。然后,Xwiki可以使用自定义身份验证器回调webapp上的服务,该服务将验证会话ID,并根据需要提供任何用户配置文件信息。 XWiki需要创建一个本地用户,它是webapp用户的代理。或者你可以像这样信任远程用户请求:https://app.box.com/shared/9kamt5d9c5 – stringy05 2015-04-16 23:00:09

+0

真正有道理,只有:)做了一个REST调用弹簧启动应用验证访问令牌通过Nginx传递的Xwikicontext – 2015-04-17 01:03:40