如何在 Grails 应用程序和 Java 应用程序之间共享 Spring Security 类?

Posted

技术标签:

【中文标题】如何在 Grails 应用程序和 Java 应用程序之间共享 Spring Security 类?【英文标题】:How to share Spring Security classes between a Grails app and a Java app? 【发布时间】:2011-09-10 06:38:21 【问题描述】:

我需要在 Grails 应用程序和 Java 应用程序中使用 Spring Security User、Role/Authority 和 UserRole-join 类。

我应该在哪里以及如何实现/生成这些类?

如果我使用从 Grails 生成的 GORM/Groovy 类,我将如何在 Java 应用程序(我自己处理 Hibernate 会话工厂)中导入和使用它们?

或者我会在 Java 中将它们实现为 Hibernate Entities 并在 Grails 应用程序中导入/使用它们吗? (我之前使用“普通”(非 Spring Security)类成功完成了此操作,但我不知道是否/如何实现 Spring Security Core 插件生成的 get、create、remove、removeAll 方法)

【问题讨论】:

【参考方案1】:

我有一个使用第二个选项的 grails 应用程序。

有一个单独的模块用于数据操作,因为这个项目有两个不同的独立应用程序(grails 网站和带有 REST api 的后端处理器),而且它还使用 MongoDB(所以,所有这些 GORM 魔法都无济于事)。

Spring Security 用于双方(Web 和后端),具有不同的实现,但一切正常。实际上,实现所需的 bean 需要做一些小工作(查看 Spring Security Core 插件),但并没有那么复杂。

【讨论】:

以上是关于如何在 Grails 应用程序和 Java 应用程序之间共享 Spring Security 类?的主要内容,如果未能解决你的问题,请参考以下文章

Grails createLink 到项目根目录?

是否可以在 Grails 之外使用 Grails 验证?如何?

Grails 2.4.4 与 Java 8 的兼容性

在 grails 应用程序中在运行时修改 groovy 代码

Grails 3.1.4 和 Docker - grails 命令返回“No profile found for name web”

在 Grails 3 中使用 Sitemesh