我正在Grails中构建自定义身份验证过滤器类。它工作正常,但是我不知道为什么它正在工作。
在以下Grails请求过滤器中,定义“角色”方法的位置/方式是什么?它必须是Grails的Nimble插件的一部分,但是我没有在NimbleFilterBase中看到它,我的过滤器类扩展了它。
public class MySecurityFilters extends MyCustomExtensionOfNimbleFilterBase {
def filters = {
reports(controller: 'foo', action: 'bar') {
before = {
accessControl {
role('Administrator')
}
}
}
另外,“accessControl”块究竟是什么?这是Grails的内置部分,还是Nimble以某种方式提供的东西,或者只是一个我可以摆脱的随机范围机制?
谢谢!
答案 0 :(得分:2)
Nimble使用Shiro,这些是Shiro功能。请参阅http://grails.org/plugin/shiro
上的文档accessControl方法通过doWithDynamicMethods()中的ShiroGrailsPlugin连接到MetaClass - 请参阅http://plugins.grails.org/grails-shiro/trunk/ShiroGrailsPlugin.groovy
中定义答案 1 :(得分:0)