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