我的问题:
我很想在我的 Grails 应用程序中使用 Spring Security 插件的访问控制/授权机制,而不必使用插件的身份验证机制。我发现的各种 Grails Spring Security 插件示例(例如这个)结合了这两个功能。有没有一种简单的方法来进行访问控制?
背景:
- 我想为我现有的应用程序添加基于角色的访问控制。我很想只注释我的控制器或使用 Config.groovy 映射方法来设置访问控制。
- 我的应用程序已经有一个用户域类。
- 用户域类已经使用 BCrypt 处理加密密码。
- 该应用程序没有“角色”域类。
- 我已经有了用于处理登录和注销的控制器操作、视图和业务逻辑。我没有兴趣用插件的实现替换它。
在正确的轨道上,但不是很有帮助:
我知道这是可能的,正如另一个问题中所解释的那样:但是,这些问题及其答案解释了如何使用原始 Spring Security 框架在 Java 应用程序中执行此操作。我希望有人以与 Grails Spring Security 插件的最新版本(撰写本文时为 1.2.7.3)兼容的方式来说明如何执行此操作。我不想重新发明插件已经处理好的轮子。
此外,此示例解释了如何执行其中一些操作,但它似乎已过时,因为它基于使用 Spring Security 2.x 的旧版本插件。它也只对应用程序的一个部分使用自定义身份验证,而它看起来仍然在其他地方使用 Spring Security 插件的域类。
怎么做?
有人可以为我制定一个方法吗?我假设我需要创建我的角色域类。之后,我假设它将涉及自定义身份验证对象等。但是我如何让他们使用插件的现有代码呢?