【问题标题】:Embedding XWiki in spring-boot Java Web Application在 spring-boot Java Web 应用程序中嵌入 XWiki
【发布时间】:2015-06-04 22:37:21
【问题描述】:

我的目标是将 xwiki 与基于 Java spring-boot 的 Web 应用程序之一一起部署。总体目标是在 Web APP 中提供 RBAC 和服务用户内容。我猜这个任务必须使用 Restful API。

我已经在我的本地主机上安装了https://github.com/xwiki-contrib/compatibleone-wiki-nodes-demo。由于网络应用使用 Cassandra 作为持久存储。

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

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

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

【问题讨论】:

    标签: rest authentication cassandra spring-boot xwiki


    【解决方案1】:

    我会看看 XWiki 提供的基于容器的身份验证

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

    假设您在同一个 Spring Boot 容器中运行 Xwiki webapp 和您自己的 webapp,那么它们都可以使用您首选容器提供的 authn / authz 服务(我想 jetty 或 tomcat 都可以)

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

    【讨论】:

    • 感谢您的回复 Xwiki 在其自己的 Tomcat/jetty 容器上运行。我正在使用 nginx 代理对 XWiki 的请求。我已经构建了一个自定义身份验证器,以使用 webapp 中的 access_token 提供对 Xwiki 的登录,但无法这样做。
    • 您应该能够使 XWiki 自定义身份验证器回调到 spring boot 应用程序以获取 authn/authz 决策。我会让您的 webapp 创建一个会话并将其与请求一起传递给 xwiki。然后,Xwiki 可以使用自定义身份验证器回调到 webapp 上的服务,该服务将验证会话 ID,并在需要时提供任何用户配置文件信息。 XWiki 需要创建一个本地用户,它是 webapp 用户的代理。或者您可以像这样信任远程用户的请求:app.box.com/shared/9kamt5d9c5
    • 只有这样做才有意义 :) 对 spring-boot 应用程序进行了 REST 调用,以验证通过 Nginx 传递的 Xwikicontext 中的访问令牌
    猜你喜欢
    • 2020-12-20
    • 2021-06-18
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 2017-11-08
    • 2017-01-12
    • 1970-01-01
    • 2021-06-10
    相关资源
    最近更新 更多